19 votes

La clé ssh persiste même après avoir supprimé la clé privée de ~/.ssh - pourquoi ?

J'ai généré des clés ssh (publiques et privées) et les ai stockées dans ~/.ssh/myServer/ .

J'ai ajouté la clé publique au fichier ~/.ssh/authorized_keys et tout fonctionne parfaitement !

Dans mon effort pour essayer de comprendre comment les clés fonctionnent, je les ai supprimées et j'ai été surpris de constater que je pouvais toujours me connecter au serveur.

Comment se fait-il que je puisse toujours me connecter sans mot de passe ?

30voto

shsteimer Points 8749

Bienvenue dans le monde merveilleux du trousseau d'OS X et du ssh-agent ! De la page de manuel :

ssh-agent est un programme permettant de conserver les clés privées utilisées pour l'authentification par clé publique (RSA, DSA, ECDSA). L'idée de L'idée est que ssh-agent est lancé au début d'une session X ou d'une session de connexion, et que tous les autres programmes sont lancés. Windows ou programmes sont lancés en tant que clients du programme ssh-agent. Grâce à l'utilisation de variables d'environnement d'environnement, l'agent peut être localisé et automatiquement utilisé pour l'authentification lors de la connexion à d'autres systèmes d'exploitation. machines en utilisant ssh(1).

Votre clé privée a été mise en cache dans l'agent et est extraite de celui-ci pour authentifier votre session. OS X, via Keychain, met automatiquement en cache l'agent ssh pour vous parce que c'est "convivial". Cela peut être un peu alarmant, mais c'est surtout une chose pratique que cela se produise.

La durée de vie par défaut des clés mises en cache est illimitée. Ce n'est probablement pas une bonne valeur par défaut. Les clés mises en cache seront vidées lors d'un cycle de déconnexion/login ou d'un redémarrage. Ou vous pouvez forcer un vidage en tuant l'agent actuel en utilisant :

ssh-add -D

Vous pouvez lister toutes les informations d'identification mises en cache par l'agent en exécutant :

ssh-add -l

Ceci fera la même chose mais montrera les clés publiques complètes :

ssh-add -L

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X