Lass meinen SSH-Schlüssel automatisch ablaufen

9

Ich verwende manchmal ssh, um eine Verbindung zu einem Remote-Computer herzustellen. Sobald ich die Passphrase einmal eingegeben habe, kann ich sie sshohne die Passphrase wieder verwenden, aber selbst wenn ich lange später zurückkomme, werde ich immer noch nicht gefragt, da der Schlüssel zwischengespeichert ist. Ich kann ssh-add -Dden Schlüssel aus dem Cache entfernen, aber ich möchte, dass dies automatisch nach beispielsweise 1 Stunde geschieht. Wie kann ich das machen?

SpashHit
quelle

Antworten:

11

Das Programm, das Ihre SSH-Schlüssel zwischenspeichert, ist das Programm SSH-Agent. Wenn Sie sich die Manpage ansehen, sehen Sie diese relevante Option:

-t life  Set a default value for the maximum lifetime of identities added
         to the agent.  The lifetime may be specified in seconds or in a
         time format specified in sshd_config(5).  A lifetime specified
         for an identity with ssh-add(1) overrides this value.  Without
         this option the default maximum lifetime is forever.

Sie können das Programm ssh-agent in Ihren Startprogrammen bearbeiten. Gehen Sie zu System > Preferences > Startup Programs, suchen Sie nach dem SSH Key Agentund fügen Sie -t 3600es dem Komman hinzu. Damit verfallen Ihre Schlüssel in einer Stunde.

Alt-Text

Sie müssen Ihre Sitzung neu starten (abmelden und wieder anmelden), damit sie wirksam wird. Sie können auch etwas Ähnliches für Ihren GPG-Schlüssel tun, der auch in einem Agentenprogramm festgelegt werden kann, das auf die gleiche Weise gestartet werden kann (aber nicht standardmäßig installiert ist), nur für den Fall, dass Sie es satt haben, Ihre GPG-Passphrase einzugeben für die Paketerstellung oder per E-Mail.

Martin Owens -doctormo-
quelle
1

Leider scheint die ausgewählte Antwort (nicht mehr) gültig zu sein: Der GNOME-Schlüsselring berücksichtigt die lebenslange Option aufgrund des Fehlers 525574 nicht . Eine Problemumgehung besteht beispielsweise darin , den GNOME-Schlüsselring für SSH-Schlüssel zu deaktivieren. Anschließend müssen Sie ssh-add -t 60mden Schlüssel bei Verwendung manuell verwenden (oder das Skript erstellen).

Menno
quelle
0

Sie können dafür einen Cron-Job hinzufügen.

karthick87
quelle
Können Sie diese Antwort erweitern, um zu erklären, wie? (Und wenn möglich, warum sollte man sich dafür entscheiden, da es möglich ist, selbst ablaufende Schlüssel einzurichten?)
Eliah Kagan