ssh verwendet keine durch Agenten weitergeleiteten Schlüssel

484
dbrane

Ich ssh von localbis X, und ich möchte ssh von Xbis zur YVerwendung von kennwortgeschützten RSA-Schlüsseln verwenden, auf denen alle meine privaten Schlüssel gespeichert sind local. Jedoch,

local> ssh -A X X> ssh Y Received disconnect: 2: Too many authentication failures 

Dies liegt daran, dass ich zu viele Schlüssel im Agenten habe und der Schlüssel nicht richtig ist, bevor der Server Ydenkt, dass ich bösartig bin. Ich kann das bestätigen, indem ich alle Schlüssel von meinem entferne, ~/.sshaußer denen, die für Xund Ysind. Dann funktioniert der Befehl ssh. Jetzt kann ich nicht den richtigen Schlüssel angeben, der verwendet werden soll, ssh Y -o IdentiyFile=pathda der richtige Pfad zum Schlüssel aktiviert ist local, nicht auf X. Wenn ich spezifiziere -o IdentitiesOnly=yes, sucht es außerdem niemals nach Schlüsseln, die vom Agenten bereitgestellt werden, sondern nur nach Schlüsseln im X:~/.ssh. Wie kann ich das umgehen?

2

1 Antwort auf die Frage

2
dbrane

Ok, ich habe eine Lösung gefunden. Auf dem System Xerstelle ich einen ~/.ssh/configAbschnitt, für Yden es ungefähr so ​​aussieht:

Host Y ... IdentityFile ~/.ssh/id_Y.pub ... 

wo ~/.ssh/id_Y.pubist eine Kopie (ein X) des öffentlichen Schlüssels für local to Y. sshdEr muss nur wissen, wo sich der öffentliche Schlüssel befindet, und er wird alles Weitere vom Agenten erfahren.

OMG, ich habe überall nach dieser Lösung gesucht! winni2k vor 6 Jahren 0