Er is geen direct manier om git te vertellen welke prive-sleutel te gebruiken, omdat het afhankelijk is van ssh voor repository authenticatie. Er zijn echter nog een paar manieren om je doel te bereiken:
Optie 1: ssh-agent
Je kunt ssh-agent gebruiken om je private sleutel tijdelijk te autoriseren.
Bijvoorbeeld:
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
Optie 2: GIT_SSH_COMMAND
Pas de ssh argumenten aan door de GIT_SSH_COMMAND omgevingsvariabele (Git 2.3.0+) te gebruiken.
bijvoorbeeld:
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
git clone user@host
Je kan dit alles op één regel typen - negeer $ en laat de Er is **geen _direct_ manier** omgitte vertellen welke prive-sleutel te gebruiken, omdat het afhankelijk is vanssh` voor repository authenticatie. Er zijn echter nog een paar manieren om je doel te bereiken:
Optie 1: ssh-agent
Je kunt ssh-agent gebruiken om je private sleutel tijdelijk te autoriseren.
Bijvoorbeeld:
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
Optie 2: GIT_SSH_COMMAND
Pas de ssh argumenten aan door de GIT_SSH_COMMAND omgevingsvariabele (Git 2.3.0+) te gebruiken.
bijvoorbeeld:
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
git clone user@host
Je kan dit alles op één regel typen - negeer $ en laat de weg.
Optie 3: GIT_SSH
Geef de ssh argumenten door gebruik te maken van de GIT_SSH omgevingsvariabele om alternatieve ssh binair te specificeren.
Bijvoorbeeld:
$ 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
Opmerking: De bovenstaande regels zijn shell (terminal) commandoregels die je in je terminal moet plakken. Ze maken een bestand aan met de naam ssh, maken het uitvoerbaar en voeren het (indirect) uit.
Opmerking: GIT_SSH is beschikbaar sinds v0.99.4 (2005).
Optie 4: ~/.ssh/config
Gebruik het ~/.ssh/config-bestand zoals voorgesteld in andere antwoorden om de locatie van uw privésleutel op te geven, bv.
Host github.com
User git
Hostname github.com
IdentityFile ~/.ssh/id_rsa