web-dev-qa-db-fra.com

Comment connecter IntelliJ à GitHub en utilisant SSH

J'ai configuré avec succès mon client GitHub pour utiliser SSH et j'ai reçu l'e-mail de confirmation de GitHub qu'une nouvelle clé SSH a été ajoutée. Je voudrais configurer IntelliJ pour utiliser SSH également, afin que je n'aie pas à entrer mon nom d'utilisateur et mon mot de passe chaque fois que j'interagis avec GitHub. Je ne veux pas non plus qu'IntelliJ enregistre mon mot de passe pour moi, car je ne suis pas sûr de la sécurité.

Le plus proche que je suis venu jusqu'à présent est que je dois modifier mon fichier ~/.ssh/config pour dire à IntelliJ qu'il existe une clé SSH qu'il peut utiliser. Malheureusement, je n'ai pas réussi à trouver un exemple qui fonctionne.

Voici ma dernière tentative d'entrée ~/.ssh/config:

Host IntelliJ
  HostName github.com
  User git
  IdentityFile "/Users/peter/.ssh/github_rsa"
  TCPKeepAlive yes
  IdentitiesOnly yes

J'ai essayé de redémarrer IntelliJ après avoir ajouté cette entrée, mais en vain. J'utilise IntelliJ Ultimate 12.1.6 sur Mac OSX 10.8.5

16
OldManLink

Le plugin GitHub pour IntelliJ vous permet d'enregistrer le mot de passe, vous n'avez donc pas à le saisir à chaque fois.

enter image description here


Avec clés

(adapté de Paramètres de clés SSH multiples pour différents comptes github , grâce à CrazyCoder commentaire):

  • Créer une paire de clés ssh

    $ ssh-keygen -t rsa -C "[email protected]"
    
  • Ajouter une clé

    $ ~/.ssh/id_rsa_activehacker
    
  • Confirmez que la clé est ajoutée

    $ ssh-add -l
    
  • Modifiez ~/.ssh/config

    Host github.com-activehacker  
    HostName github.com  
    User git  
    IdentityFile ~/.ssh/id_rsa_activehacker
    


Dans IntelliJ

VCS> Extraire du contrôle de version> Git

Checkout from Version Control

Tester

Test

Comme vous pouvez le voir, vous devrez toujours saisir la phrase secrète pour la paire de clés après chaque relance d'IntelliJ (je crois que la phrase secrète est conservée en mémoire) ou laisser IntelliJ la stocker en permanence.

17
kukido

Avec IntelliJ 2016.3.3, cela semble très simple en suivant les étapes ci-dessous:

  1. Générez votre paire de clés à utiliser, si aucune n'existe déjà avec

ssh-keygen

  1. Ajoutez la clé à votre profil github selon https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

  2. Modifiez les paramètres dans IntelliJ sous | VersionControl> GitHub

Cochez "Cloner les référentiels git à l'aide de ssh"

IntelliJ Settings Screenshot for Github

Choisissez "Native" comme "exécutable SSH"

enter image description here

12
Tobias Gerschner

La réponse ci-dessus de kukido semble désormais obsolète; l'interface utilisateur IntelliJ ne fournit plus le même niveau d'accès à l'URL github. Et, l'exécutable par défaut "intégré" (à IntelliJ) ssh ne semble pas respecter les paramètres du fichier .ssh/config. Ce que j'ai trouvé fonctionne maintenant, c'est de passer de l'exécutable ssh intégré à l'exécutable ssh "natif". Cela se fait en visitant Settings... | Version Control | Git puis en choisissant Native dans le SSH executable menu déroulant.

Cela s'applique à la version IntelliJ 2016.2 et je suis presque sûr que les versions antérieures telles que 2016.1 et la série 2015.

3
Steve Byrne

Steve Byrne a raison sur les changements apportés à cette procédure. Comme je n'ai pas assez de réputation pour commenter, je voudrais ajouter à sa réponse que je ne pouvais que faire cela avec Github lors de la saisie de l'URL SSH dans l'invite de clonage d'un dépôt. Vous pouvez obtenir l'URL SSH de votre dépôt en cliquant sur "Cloner ou télécharger" puis "Utiliser SSH" sur Github, comme ceci:

enter image description here

3
thenaturalist
  • Ouvrez Git Bash et créez une nouvelle clé ssh en utilisant votre adresse e-mail GitHub comme ceci:

    ssh-keygen -t rsa -b 4096 -C "[email protected]"

  • Ensuite, il vous demande un chemin de fichier pour enregistrer la clé. Vous pouvez simplement accepter la valeur par défaut en appuyant sur Entrée.

  • Un mot de passe vous sera alors demandé. Assurez-vous de vous en souvenir car vous en aurez peut-être besoin au moment où vous souhaitez pousser les modifications de votre projet vers GitHub.
  • Assurez-vous que votre agent ssh est en cours d'exécution. Pour cela, vous pouvez entrer la commande suivante

    eval $ (ssh-agent -s)

  • Ajoutez maintenant votre clé privée SSH à l'agent ssh comme ceci:

    ssh-add ~/.ssh/id_rsa

  • Maintenant, allez dans votre profil GitHub et sélectionnez réglage-> clés SSH et GPG. Sélectionnez Nouvelle clé SSH et après avoir entré un titre, copiez votre clé en utilisant cette commande:

    clip <~/.ssh/id_rsa.pub

  • Enfin, accédez au paramètre Git d'IntelijIDEA et sélectionnez Built-in pour SSH executable.

  • Vous pouvez essayer de voir si tout fonctionne bien en poussant votre projet vers GitHub. Il vous sera demandé la phrase secrète que vous avez entrée lors de la création de la clé ssh.

2
abshar