101 votes

Sélectionnez la clé privée à utiliser avec Git

J'ai 2 serveurs Git qui nécessitent 2 clés SSH différentes.

git clone user1@server1:blahblahblah utilise ~/.ssh/id_rsa , mais je dois spécifier la clé à utiliser en fonction du serveur auquel je me connecte.

Quel paramètre de ligne de commande Git effectue ce travail ? (Je suis sous Linux.)

69voto

Cameron Skinner Points 19987

Si vous vous connectez via SSH, la clé sera contrôlée par un paramètre SSH, pas un paramètre git.

SSH recherche dans le ~/.ssh/config les paramètres de configuration. Modifiez ce fichier et ajoutez des entrées IdentityFile pour les deux serveurs Git comme ceci :

 Host server1.whatever.com
  IdentityFile /path/to/key_1
Host server2.whatever.com
  IdentityFile /path/to/key_2

Cet article contient plus de détails.

37voto

Josh Points 3539

En règle générale, vous souhaitez utiliser ~/.ssh/config pour cela. Associez simplement les adresses de serveur aux clés que vous souhaitez utiliser comme suit :

 Host github.com
  IdentityFile ~/.ssh/id_rsa.github
Host heroku.com
  IdentityFile ~/.ssh/id_rsa.heroku
Host *
  IdentityFile ~/.ssh/id_rsa

Host * désigne n'importe quel serveur, je l'utilise donc pour définir ~/.ssh/id_rsa comme clé par défaut à utiliser.

15voto

khelll Points 12222

Utilisez ssh-add path-to-private-key cela fonctionne immédiatement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X