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
Le plugin GitHub pour IntelliJ vous permet d'enregistrer le mot de passe, vous n'avez donc pas à le saisir à chaque fois.
(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
VCS> Extraire du contrôle de version> Git
Tester
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.
Avec IntelliJ 2016.3.3, cela semble très simple en suivant les étapes ci-dessous:
ssh-keygen
Ajoutez la clé à votre profil github selon https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
Modifiez les paramètres dans IntelliJ sous | VersionControl> GitHub
Cochez "Cloner les référentiels git à l'aide de ssh"
Choisissez "Native" comme "exécutable SSH"
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.
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:
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.
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.