Ich habe einen privaten SSH-Schlüssel, den ich zur Authentifizierung verwende und der in ~ / .ssh / id_rsa gespeichert ist . Wenn ich auf einen Server ssh, werde ich aufgefordert, das Kennwort einzugeben, um den Schlüssel zu entsperren:
Ich mag das. Ich mag auch, dass ich immer wieder ssh kann und es mich nicht zur Eingabe meines Passworts auffordert.
Was mir nicht gefällt, ist, dass ich Tage oder sogar Wochen später kein Schlüsselpasswort eingeben muss. Ich kann meinen Bildschirm sperren oder in den Ruhezustand versetzen und muss trotzdem mein Schlüsselkennwort nicht eingeben. Das Passwort scheint nur dann abzulaufen, wenn ich mich abmelde (was ich selten mache).
Wie kann ich erreichen, dass das Schlüsselkennwort nach einer Weile abläuft und ich gezwungen werde, mein Kennwort zur Authentifizierung erneut einzugeben? Damit ist es möglich, dass der Schlüssel nach 1 Stunde automatisch vergessen wird.
quelle
Hinweis : In neueren Versionen von OS X müssen Sie den Systemintegritätsschutz deaktivieren, damit diese Antwort funktioniert. (Vielen Dank an @Dave Gregory und @Jaap für diesen Hinweis.)
Öffnen Sie
/System/Library/LaunchAgents/com.openssh.ssh-agent.plist
(in älteren Versionen :)org.openbsd.ssh-agent.plist
in einem Texteditor. Ersetzen:mit:
Der Schlüssel läuft nach 30 Minuten ab.
Starten Sie neu. Warten Sie, starten Sie neu?!? Das ist nicht Windows! Ja, neu starten.
Nun, Sie können versuchen, die Anweisungen zum Ändern der Einstellung im laufenden Betrieb zu entschlüsseln , aber viel Glück.
quelle
Sie müssen die Lebensdauer des Schlüssels festlegen. Normalerweise ist es standardmäßig für immer.
Wenn Sie ausführen
ssh-add
, möchten Sie die-t
Option verwenden. Wenn Sie eine Schlüssellebensdauer von einer Stunde wünschen, ist dies der Fallssh-add -t 1h
. Die Zeitformate sind auf dersshd_config
Manpage zu sehen, aber einfach ausgedrückt sind sie eine Zahl, gefolgt von s, m, h, d oder w für Sekunden, Minuten, Stunden, Tage oder Wochen.ssh-add
kann in Ihre .bashrc-Datei eingefügt werden und fordert Sie lediglich auf, den Schlüssel einmal zu validieren. Selbst wenn der Schlüssel "abläuft", wird er nicht entfernt - er fragt nur erneut nach der Passphrase, wenn versucht wird, sie zu verwenden.Die andere Option wäre, die Startoptionen zu ändern, für
ssh-agent
die sie gespeichert sind,/System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
und die-t
dort hinzuzufügen . (Ich verwendeLaunchControl
diese, um sie zu ändern, aber Sie können es von Hand tun, wenn Sie vorsichtig sind.)quelle
ssh-add
manuell zu laufen, bevor ichssh
jedes Mal laufe . Es ist interessant, aber ich suche wirklich etwas Automatisches.org.openbsd.ssh-agent.plist
Lösung hingewiesen habenEine andere Lösung ist:
Mit dieser Lösung müssen Sie kein Zeitlimit für Ihren gesamten Schlüsselbund auswählen - ziemlich ärgerlich, wenn Sie ein Zeitlimit von einigen Sekunden für die Aufzeichnung Ihres privaten Schlüsselkennworts festlegen möchten - und Sie müssen Ihr SIP nicht deaktivieren, um / System / zu bearbeiten. Library / LaunchAgents / org.openbsd.ssh-agent.plist.
quelle