Il y a pas de direct chemin de dire git
quelle clé privée utiliser, car il s'appuie sur ssh
pour l'authentification du référentiel. 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 l'option GIT_SSH_COMMAND
variable d'environnement (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 les éléments suivants <code>$</code> et laisser de côté le <code>\</code> .
Option 3 : GIT_SSH
Passez les arguments ssh en utilisant l'option GIT_SSH
pour spécifier une autre variable d'environnement 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é <em><code>ssh</code></em> , le rendre exécutable, et (indirectement) l'exécuter.
Nota: GIT_SSH
est disponible depuis la v0.99.4 (2005).
Option 4 : ~/.ssh/config
Utilisez le ~/.ssh/config
comme suggéré dans d'autres réponses afin de spécifier l'emplacement de votre clé privée, par ex.
Host github.com
User git
Hostname github.com
IdentityFile ~/.ssh/id_rsa
3 votes
Ver cette question dans StackOverflow également.
2 votes
Également lié serverfault.com/questions/194567/