Nehmen wir an, ich habe einen Schlüssel für Github, zusammen mit anderen Schlüsseln. Ich habe meinem ssh-Agenten ssh-add -L
auf meinem Heimcomputer A viele Schlüssel hinzugefügt ( gibt viele Zeilen zurück). In meinem habe .ssh/config
ich festgelegt, welcher Schlüssel mit welchem Host verwendet werden soll, z
ssh -T -vvv git@github.com 2>&1 | grep Offering
gibt
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
Wie erwartet wird nur ein Schlüssel angeboten. Aber dann ssh-ing zu einem Host B mit ForwardAgent yes
und Wiederholen des gleichen Befehls, bekomme ich
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.linode2
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.helium
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
Das heißt, es versucht alle meine Schlüssel. Dies ist problematisch, da nur eine begrenzte Anzahl von Schlüsseln versucht werden kann, bevor die Server zurückkehren Too many authentication failures
. Also habe ich versucht, die Bearbeitung .ssh/config
auf Host B einzuschließen
Host github.com
IdentityFile /Users/doxna/.ssh/id_rsa.github
IdentitiesOnly yes
dann bekomme ich aber doch keine schlüsselopfer, sondern
debug2: key: /Users/doxna/.ssh/id_rsa.github ((nil))
was ich vermute, bedeutet, dass der Schlüssel nicht gefunden wurde (?) Und schließlich befindet sich der Schlüssel auf meinem Heimcomputer A, nicht auf Host B, also lautet die Frage, wie man auf Host B darauf verweist? Hoffe, ich habe es geschafft, die Frage zu erklären.