Ich verwende Mac OS X und es sieht so aus, als würde mein 'ssh-agent' nach dem SSH-Vorgang auf mehreren Rechnern unter Verwendung von Identitätsdateien eine Menge Identitäten / Schlüssel aufbauen und einem entfernten Rechner manchmal zu viele anbieten , wodurch diese dazu veranlasst werden Kick mich aus, bevor du dich anschließt:
Verbindungstrennung vom 10.12.10.16 erhalten: 2: Zu viele Authentifizierungsfehler für cwd
Es ist ziemlich offensichtlich, was passiert, und auf dieser Seite wird ausführlicher darauf eingegangen:
Auf SSH-Servern können Sie nur eine bestimmte Anzahl von Authentifizierungsversuchen ausführen. Jeder fehlgeschlagene Kennwortversuch, jeder fehlgeschlagene Pubkey / jede fehlgeschlagene Identität usw. führen einen dieser Versuche durch. Wenn Ihr Agent viele SSH-Schlüssel enthält, werden Sie möglicherweise von einem SSH-Server ausgeschlossen, bevor Sie überhaupt die Kennwortauthentifizierung versuchen können. In diesem Fall gibt es verschiedene Problemumgehungen.
Durch einen Neustart wird der Agent gelöscht und alles funktioniert wieder. Ich kann diese Zeile auch zu meiner .ssh/config
Datei hinzufügen , um die Kennwortauthentifizierung zu erzwingen:
PreferredAuthentications keyboard-interactive,password
Wie auch immer, ich habe den Hinweis auf der Seite, auf die ich verwiesen habe, gesehen, in dem es um das Löschen von Schlüsseln vom Agenten geht, aber ich bin mir nicht sicher, ob dies auf einem Mac zutrifft, da sie nach dem Neustart sowieso gelöscht zu sein scheinen.
Gibt es eine einfache Möglichkeit, alle Schlüssel im 'ssh-agent' zu löschen (dasselbe passiert beim Neustart)?
ssh-add -l
bekomme ich nichts. Wenn ichssh -i ~/keyFileLocation.dsa un@remotehost
eingebe, wird ein OS X-Popup-Dialogfeld angezeigt, in dem Sie nach der Passphrase gefragt werden. Ich tippe es ein und dann verbindet es mich. Wenn ich die Verbindung trenne und dann eingebessh-add -l
, wird die Identität angezeigt, die ich gerade verwendet habe. Nachdem ich den Computer neu gestartet und eingegebenssh-add -l
habe, ist er wieder leer.ssh-add -D
hat großartig funktioniert, um die Schlüssel ohne Neustart zu löschen. Vielen Dank!AddKeysToAgent
Konfigurationsoption, die speziell für das Hinzufügen Ihrer SSH-Schlüssel zum Agenten entwickelt wurde, nur weil Sie SSH auf einem Server ausgeführt haben.Eine andere Möglichkeit, die Überprüfung der Schlüssel einzuschränken, besteht darin , Ihrer Datei
IdentitiesOnly yes
und hinzuzufügen .IdentityFile ~/.ssh/<nameofkey>
/.ssh/config
quelle