Il n'y a pas de manière directe de dire à git
quelle clé privée utiliser, car il s'appuie sur ssh
pour l'authentification du dépôt. Cependant, il existe encore quelques moyens d'atteindre votre objectif :
Option 1 : ssh-agent
Vous pouvez utiliser ssh-agent
pour autoriser temporairement votre clé privée.
Par exemple :
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
Option 2 : GIT_SSH_COMMAND
Passez les arguments ssh en utilisant la variable d'environnement GIT_SSH_COMMAND
(Git 2.3.0+). Par exemple :
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
git clone user@host
Vous pouvez taper tout cela sur une seule ligne - ignorez $
et laissez de côté le Il n'y a pas de **manière directe** de dire à
gitquelle clé privée utiliser, car il s'appuie sur
ssh` pour l'authentification du dépôt. Cependant, il existe encore quelques moyens d'atteindre votre objectif :
Option 1 : ssh-agent
Vous pouvez utiliser ssh-agent
pour autoriser temporairement votre clé privée.
Par exemple :
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
Option 2 : GIT_SSH_COMMAND
Passez les arguments ssh en utilisant la variable d'environnement GIT_SSH_COMMAND
(Git 2.3.0+). Par exemple :
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
git clone user@host
Vous pouvez taper tout cela sur une seule ligne - ignorez $
et laissez de côté le .
Option 3 : GIT_SSH
Passez les arguments ssh en utilisant la variable d'environnement GIT_SSH
pour spécifier un autre ssh
binaire.
Par exemple :
$ echo 'ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $*' > ssh
$ chmod +x ssh
$ GIT_TRACE=1 GIT_SSH='./ssh' git clone user@host
Note : Les lignes ci-dessus sont des lignes de commande shell (terminal) que vous devez coller dans votre terminal. Elles vont créer un fichier nommé ssh
, le rendre exécutable, et (indirectement) l'exécuter.
Note : GIT_SSH
est disponible depuis v0.99.4 (2005).
Option 4 : ~/.ssh/config
Utilisez le fichier ~/.ssh/config
comme suggéré dans les autres réponses afin de spécifier l'emplacement de votre clé privée, par exemple :
Host github.com
User git
Hostname github.com
IdentityFile ~/.ssh/id_rsa