SSH-Schlüssel bleibt auch nach dem Löschen des privaten Schlüssels von ~ / .ssh bestehen - warum?

18

Ich habe ssh-Schlüssel (öffentlich und privat) generiert und in gespeichert ~/.ssh/myServer/.

Ich habe den öffentlichen Schlüssel zur Server- ~/.ssh/authorized_keysDatei hinzugefügt und alles funktioniert super!

Um zu verstehen, wie die Schlüssel funktionieren, löschte ich sie und stellte überrascht fest, dass ich immer noch eine Verbindung zum Server herstellen konnte.

Warum kann ich mich immer noch ohne Passwort verbinden?

poltj18
quelle

Antworten:

25

Willkommen in der wundervollen Welt von OS X Keychain und ssh-agent ! Von der Manpage:

ssh-agent ist ein Programm zur Speicherung privater Schlüssel für die Authentifizierung mit öffentlichen Schlüsseln (RSA, DSA, ECDSA). Die Idee ist, dass ssh-agent zu Beginn einer X-Sitzung oder einer Anmeldesitzung gestartet wird und alle anderen Fenster oder Programme als Clients für das Programm ssh-agent gestartet werden. Durch die Verwendung von Umgebungsvariablen kann der Agent gefunden und automatisch zur Authentifizierung verwendet werden, wenn er sich mit ssh (1) bei anderen Computern anmeldet.

Ihr privater Schlüssel wurde im Agenten zwischengespeichert und wird von dort abgerufen, um Ihre Sitzung zu authentifizieren. OS X führt über den Schlüsselbund das automatische ssh-Agent-Caching für Sie durch, weil es "benutzerfreundlich" ist. Es kann ein wenig alarmierend sein, aber es ist meistens praktisch, dass dies passiert.

Die Standardlebensdauer für zwischengespeicherte Schlüssel ist unbegrenzt. Das ist wahrscheinlich kein guter Standard. Die zwischengespeicherten Schlüssel werden bei einem Abmelde- / Anmeldezyklus oder einem Neustart gelöscht. Oder Sie können einen Flush erzwingen, indem Sie den aktuellen Agenten töten:

ssh-add -D

Sie können alle vom Agenten zwischengespeicherten Anmeldeinformationen auflisten, indem Sie Folgendes ausführen:

ssh-add -l

Dies wird dasselbe tun, aber die vollständigen öffentlichen Schlüssel anzeigen:

ssh-add -L
Ian C.
quelle
Beeindruckend! Danke vielmals! Ich war wirklich verwirrt darüber, was geschah. Ich verstehe es jetzt!
Dienstag,
2
@FAYNUS Wenn dies das Problem für Sie löst, drücken Sie bitte das grüne Häkchen auf der rechten Seite, um es als "akzeptierte Antwort" zu markieren! Willkommen bei Ask Different!
Ian C.