J'ai une clé SSH privée que j'utilise pour l'authentification qui est stockée dans ~ / .ssh / id_rsa . Lorsque je ssh sur un serveur, on me demande le mot de passe pour déverrouiller la clé:
J'aime ça. J'aime aussi que je puisse ssh encore et encore et cela ne me demande pas mon mot de passe.
Ce que je n'aime pas, c'est que je ne suis pas obligé de saisir mon mot de passe clé des jours, voire des semaines plus tard. Je peux verrouiller mon écran ou le mettre en veille et je n'ai toujours pas besoin de saisir mon mot de passe. Le seul moment où il semble expirer, c'est quand je me déconnecte (ce que je fais rarement).
Comment puis-je faire expirer le mot de passe de la clé après un certain temps, me forçant à saisir à nouveau mon mot de passe pour m'authentifier? Faire en sorte que peut-être après 1 heure, la clé soit automatiquement oubliée.
la source
Remarque : dans les versions plus récentes d'OS X, vous devez désactiver la protection de l'intégrité du système pour que cette réponse fonctionne. (Merci à @Dave Gregory et @Jaap de l'avoir signalé.)
Ouvrez
/System/Library/LaunchAgents/com.openssh.ssh-agent.plist
(dans les anciennes versions:)org.openbsd.ssh-agent.plist
dans un éditeur de texte. Remplacer:avec:
Cela expirera la clé après 30 minutes.
Redémarrez. Attendez, redémarrez?!? Ce n'est pas Windows! Oui, redémarrez.
Eh bien, vous pouvez essayer de déchiffrer les instructions pour changer le paramètre à la volée , mais bonne chance.
la source
Vous devez définir la durée de vie de la clé. Par défaut, il est par défaut pour toujours.
Lorsque vous exécutez,
ssh-add
vous souhaitez utiliser l'-t
option. Si vous voulez une durée de vie d'une heure, c'est le casssh-add -t 1h
. Les formats d'heure peuvent être vus dans lasshd_config
page de manuel mais en termes simples, ils sont un nombre suivi de s, m, h, d ou w pendant secondes, minutes, heures, jours ou semaines.ssh-add
peut être placé dans votre fichier .bashrc et il vous demandera simplement de valider la clé une fois. Même lorsque la clé "expire", elle n'est pas supprimée - elle demande simplement à nouveau la phrase secrète lors d'une tentative d'utilisation.L'autre option serait de modifier les options de lancement pour
ssh-agent
lesquelles sont stockées dans/System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
et d'y ajouter-t
. (J'utiliseLaunchControl
pour les changer, mais vous pouvez le faire à la main si vous faites attention.)la source
ssh-add
manuellement avant de courir àssh
chaque fois. C'est intéressant, mais je cherche vraiment quelque chose d'automatique.org.openbsd.ssh-agent.plist
Une autre solution est:
Avec cette solution, vous n'avez pas à choisir un délai d'expiration pour tous vos trousseaux - assez ennuyeux lorsque vous souhaitez définir un délai de quelques secondes pour l'enregistrement de votre mot de passe de clé privée - et vous n'avez pas à désactiver votre SIP pour modifier / Système / Bibliothèque / LaunchAgents / org.openbsd.ssh-agent.plist.
la source