Vor kurzem habe ich festgestellt, dass mein ssh-agent drei Schlüssel enthält, die ich nicht löschen kann. ssh-add -l
zeigte drei Schlüssel; Ich rannte ssh-add -D
und erhielt die Anweisung "Alle Identitäten entfernt". aber dann ssh-add -l
zeigte ein sofortiger die gleichen drei Schlüssel.
Wenn ich mich aus- und wieder einlogge, sind die Schlüssel immer noch da. Wenn ich die Maschine neu starte, sind die Schlüssel noch dort. Wenn ich das Schlüsselbundverzeichnis in lösche /tmp
, kann ich keine Verbindung ssh-agent
mehr herstellen, aber beim Abmelden und erneuten Anmelden sind die Schlüssel wieder da. Sie sind unverwundbar.
Die Schlüssel gehören mir, soweit ich das beurteilen kann, niemand anderem. Ich kann mit ihnen auf meine üblichen lokalen Dienste zugreifen. Wenn ich aber einen der Schlüssel erneut mit hinzufüge ssh-add
und den Pfad zu einer privaten Schlüsseldatei gebe, sieht der neue Schlüssel in der Ausgabe von ssh-add -l
:
2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA)
gegen das Original:
2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA)
Gibt es eine Möglichkeit, dieses Verhalten sinnvoll zu erklären? Ich denke, es gibt wirklich zwei Fragen:
Wie ist es gelungen, die Schlüssel auch nach einem Neustart beizubehalten? Meine Grundkenntnisse von
ssh
legen nahe, dass Schlüssel immer manuell hinzugefügt werden müssen.Warum
ssh-agent -D
lügt mich das Entfernen von Identitäten an?
Antworten:
Es sieht so aus, als wäre es ein Fehler. Ich habe ein ähnliches Verhalten in Ubuntu 10.10. Eine Google-Suche hat einen Fehlerbericht für Debian gefunden: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477
Um die zusätzlichen Schlüssel zu entfernen, die ich angezeigt hatte, habe ich sie einfach aus dem ~ / .ssh-Verzeichnis verschoben.
quelle
Ihre Schlüssel werden als Dateien im versteckten Verzeichnis gespeichert: /home/jruser/.ssh/ So bleiben sie auch nach einem Neustart erhalten. Ich vermute, das ist, dass ssh-add -D sie aus dem Speicher löscht, aber wenn Sie neu starten, werden sie aus dem .ssh-Verzeichnis gelesen und Sie haben sie wieder.
quelle
ssh-add -D
Löscht sie aber NICHT aus dem Speicher. Es hat überhaupt keine Wirkung.