Es gibt keine direkte Möglichkeit, git
mitzuteilen, welcher private Schlüssel verwendet werden soll, weil er sich bei der Authentifizierung des Repositorys auf ssh
verlässt. Es gibt jedoch noch einige Möglichkeiten, Ihr Ziel zu erreichen:
Option 1: ssh-agent
Sie können ssh-agent
verwenden, um Ihren privaten Schlüssel vorübergehend zu autorisieren.
Zum Beispiel:
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
Option 2: GIT_SSH_COMMAND
Übergeben Sie die ssh-Argumente, indem Sie die Umgebungsvariable GIT_SSH_COMMAND
(Git 2.3.0+) verwenden.
Zum Beispiel:
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
git clone user@host
Sie können dies alles in eine Zeile eingeben - ignorieren Sie $
und lassen Sie die Es gibt **keine _direkte_ Möglichkeit**,
gitmitzuteilen, welcher private Schlüssel verwendet werden soll, weil er sich bei der Authentifizierung des Repositorys auf
ssh` verlässt. Es gibt jedoch noch einige Möglichkeiten, Ihr Ziel zu erreichen:
Option 1: ssh-agent
Sie können ssh-agent
verwenden, um Ihren privaten Schlüssel vorübergehend zu autorisieren.
Zum Beispiel:
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
Option 2: GIT_SSH_COMMAND
Übergeben Sie die ssh-Argumente, indem Sie die Umgebungsvariable GIT_SSH_COMMAND
(Git 2.3.0+) verwenden.
Zum Beispiel:
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
git clone user@host
Sie können dies alles in eine Zeile eingeben - ignorieren Sie $
und lassen Sie die weg.
Option 3: GIT_SSH
Übergeben Sie die ssh-Argumente, indem Sie die Umgebungsvariable GIT_SSH
verwenden, um alternative ssh
binär anzugeben.
Zum Beispiel:
$ 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
Hinweis: Die obigen Zeilen sind Shell-(Terminal-)Befehlszeilen, die Sie in Ihr Terminal einfügen sollten. Sie werden eine Datei mit dem Namen ssh
erzeugen, sie ausführbar machen und (indirekt) ausführen.
Hinweis: GIT_SSH
ist verfügbar seit v0.99.4 (2005).
Option 4: ~/.ssh/config
Verwenden Sie die Datei ~/.ssh/config
wie in anderen Antworten vorgeschlagen, um den Ort Ihres privaten Schlüssels anzugeben, z.B.
Host github.com
User git
Hostname github.com
IdentityFile ~/.ssh/id_rsa