26 votes

MacOS 10.12 Sierra n'oublie pas la phrase de passe de mon fichier clé ssh

Après avoir créé un nouveau fichier crypté id-rsa fichier clé avec ssh-keygen et en l'utilisant pour la première fois, je n'arrive pas à faire oublier la phrase de passe par MacOS. Ceci est similaire à Comment faire pour qu'OS X ne se souvienne pas de la phrase de passe de la clé ssh ? question mais pire encore.

J'ai essayé de redémarrer, de tuer le ssh-agent J'ai verrouillé tous mes trousseaux de clés, mais il semble toujours être stocké quelque part. Cependant, je ne le trouve dans aucun trousseau. Cela semble très peu sûr. Les réponses à Le mot de passe de la clé privée SSH n'est jamais supprimé avec Keychain/ssh-agent n'aident pas non plus.

En fait, le dialogue qui apparaissait auparavant vous demandant si vous vouliez stocker la phrase de passe ou non ne semble plus exister.

0 votes

Avez-vous vérifié s'il est vraiment crypté ?

0 votes

Oui. Je suis presque sûr que c'est le cas puisque ssh demande la phrase de passe la première fois que je l'utilise. Quelqu'un peut-il reproduire ce problème ?

0 votes

Eh bien, cela fonctionne de cette façon avec mon installation aussi, c'est la façon dont ssh/ssh-agent a été configuré.

28voto

Blamdarot Points 1517

Pour désactiver le stockage de la phrase de passe dans le trousseau de clés, vous devez ajouter les lignes suivantes à ~/.ssh/config fichier :

Host *
UseKeyChain no

Si vous avez déjà une phrase de passe stockée dans le trousseau, vous pouvez la supprimer en utilisant des commandes :

cd ~/Library/Keychains/<UUID>/
sqlite3 keychain-2.db 'delete from genp where agrp="com.apple.ssh.passphrases"'

Si vous souhaitez avoir un comportement comme dans OS X El Capitan ou antérieur (c'est-à-dire que la phrase de passe est stockée jusqu'à la déconnexion ou le redémarrage), il suffit d'ajouter à ~/.ssh/config :

AddKeysToAgent yes

Vous n'avez pas besoin de démarrer ssh-agent.

1 votes

Cette réponse résout définitivement le problème ! J'ai donc marqué cette réponse comme étant la bonne. Merci !

0 votes

Modification suggérée : changement Library/Keychains/<UUID>/ à ~/Library/Keychains/<UUID>/ pour plus de clarté :)

0 votes

Modification suggérée acceptée :)

20voto

Gene Frenkler Points 201

Grâce à Clive, je comprends mieux cette nouvelle "fonctionnalité". Lorsque vous tapez votre phrase de passe, Sierra l'ajoute à votre trousseau mais pas à ssh-agent. Si votre identité n'est pas dans ssh-agent il n'y a aucun moyen de la gérer avec ssh-add . Pour gérer (c'est-à-dire supprimer) votre identité dans le trousseau, vous devez ajouter votre identité à la liste suivante ssh-agent en utilisant ssh-add . Une fois que vous avez ajouté votre identité à ssh-agent vous pouvez utiliser ssh-add -K -d pour le retirer des deux ssh-agent et Keychain. Si vous voulez que votre identité soit ajoutée à ssh-agent chaque fois que vous utilisez ssh add :

AddKeysToAgent yes

à votre .ssh/config . Cela permettra de s'assurer que ssh-agent a toujours votre identité.

0 votes

Juste un suivi. Si vous ajoutez 'UseKeyChain no' à votre .ssh/config, cela empêchera Keychain d'ajouter votre phrase de passe. Vous devez conserver 'AddKeysToAgent yes' dans ssh-agent qui conservera votre phrase de passe jusqu'à ce que vous redémarriez ou que vous utilisiez ssh-add -d.

0 votes

Notez que cela nécessite l'utilisation de l'OpenSSH fourni par Apple. Ce correctif n'est pas inclus dans la version home-brew à partir de la date du homebrew/dupes/openssh: stable 7.3p1

3voto

Zirc Points 103
ssh-add -K -d

Cela peut supprimer les phrases de passe précédemment stockées dans le trousseau de clés. Depuis MacOS 10.12 Sierra, pour éviter que la phrase de passe ne soit à nouveau stockée dans le trousseau, veillez à effectuer les opérations suivantes ssh-add d'abord.

0 votes

Oui. Cela fonctionnait sur les versions précédentes de MacOS Sierra. Mais ça ne fonctionne plus. MacOS Sierra se souvient toujours de la phrase de passe.

1 votes

OK. Plus de recherches. Il l'oublie une fois mais il retourne directement dans le trousseau après l'avoir utilisé n'importe où (ssh, scp, git etc.). Un gentil étranger m'a envoyé un e-mail directement et a découvert que la phrase de passe semble être stockée dans ~/Bibliothèque/Keychains/<SOME-UUID>/keychain-2.db. Mais même en verrouillant mon trousseau de connexion (et tous les autres trousseaux), os x ne demande pas le mot de passe de mon trousseau pour accéder à la phrase de passe. Cela ne semble vraiment pas correct.

0 votes

En effet, il semble que dans Sierra la phrase de passe soit enregistrée dans cet emplacement du trousseau et non dans le trousseau de connexion habituel.

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