1 votes

MacOS Keychain Access conserve indéfiniment la phrase de passe SSH

Pour des raisons pratiques, j'aimerais que MacOS conserve ma phrase de passe RSA, mais pas indéfiniment (pour des raisons de sécurité). Je pense que SSH utilisera Accès au trousseau de clés avec cette configuration SSH

Host *
     UseKeychain true

Et je crois qu'il utilisera ssh-agent avec cette configuration :

Host *
     AddKeysToAgent yes

Quelques questions :

  1. Il semble qu'il y ait deux options : ssh-agent o Accès au trousseau de clés . Si vous avez besoin de la commodité de temporairement le stockage des phrases de passe, quelle est la norme ?
  2. Comment puis-je identifier et effacer la phrase de passe de ma clé privée par défaut dans Keychain Access ? Je vois une clé privée sans nom, mais je ne veux pas la supprimer sans être sûr qu'il s'agit bien de ma clé SSH stockée.
  3. Quelle est la meilleure option si je veux effacer régulièrement les phrases de passe des clés privées ? Je pourrais utiliser ssh-add -D sous une tâche cron

5voto

crimson-egret Points 2977

Avant de commencer, il convient de clarifier quelques points :

  • macOS vous permettra de stocker la clé privée Phrases de passe dans le trousseau de clés de macOS.
  • ssh-agent (sur macOS ou n'importe quel système) contient l'option décrypté clé privée en mémoire .

La distinction est importante pour répondre à vos questions.

  1. Il semble qu'il y ait deux options : ssh-agent ou Keychain Access.

Pas exactement. Voir la clarification ci-dessus. Si vous utilisez le UseKeychain yes dans votre ~/.ssh/config alors tout programme se connectant à l ssh-agent La prise de courant permettra ssh-agent pour accéder au trousseau de clés afin de trouver la phrase de passe permettant de décrypter votre clé privée. Si vous également utiliser le AddKeysToAgent yes cette clé décryptée sera stockée dans l'agent pour une utilisation ultérieure. Également utile pour voir une autre question connexe .

... Si vous avez besoin de la commodité de stocker temporairement des phrases de passe, quelle est la norme ?

Il n'y a (à ma connaissance) aucun moyen de faire en sorte que macOS stocke les mots de passe. temporairement . Cependant, il est possible d'avoir une solution partiellement satisfaisante pour obtenir presque le même effet -- voir la réponse à la question 3 ci-dessous.

  1. Comment puis-je identifier et effacer la phrase de passe de ma clé privée par défaut dans Keychain Access ? Je vois une clé privée sans nom, mais je ne veux pas la supprimer sans être sûr qu'il s'agit bien de ma clé SSH stockée.

Si vous ouvrez Keychain Access sur votre Mac, et que vous recherchez ssh vous ne verrez probablement pas la phrase de passe de votre clé ssh. À partir de macOS Sierra (10.12), Apple a déplacé le trousseau de clés vers un autre trousseau. ssh Les clés ont été stockées. Pour le voir, vous devez sélectionner "Affichage >> Afficher les éléments invisibles" et les entrées de la phrase de passe de la clé ssh seront visibles.

Il y a de fortes chances que la "clé privée sans nom" que vous avez vue soit une autre clé RSA (ou DSA).

  1. Quelle est la meilleure option si je veux effacer régulièrement toute phrase de passe de clé privée ? Je pourrais utiliser ssh-add -D sous une tâche cron.

Alors que vous pourriez mettre ssh-add -D dans une tâche cron, et cela ferait probablement une partie de ce que vous voulez, cela ne supprimerait pas la Phrases de passe du porte-clés. Cela effacerait seulement la mémoire de l'appareil en cours d'exécution ssh-agent de tous décrypté des clés privées. Si vous avez UseKeychain yes dans votre configuration, ssh-agent se fera un plaisir de re-décrypter la clé la prochaine fois qu'elle sera nécessaire (voir la réponse à la question 1 ci-dessus).

Une alternative pour satisfaire votre désir implicite de ne pas avoir de clés décryptées disponibles en permanence est de désactiver les deux options suivantes UseKeychain et AddKeysToAgent comme dans :

Host *
  UseKeychain no
  AddKeysToAgent no

Ensuite, ajoutez manuellement les clés à votre parcours ssh-agent avec des durées de vie limitées en utilisant le -t <lifetime> option pour ssh-add comme dans :

ssh-add -t 4h ~/.ssh/id_rsa

Cela ajoutera votre clé RSA (par défaut) à l'agent avec une durée de vie de 4 heures. Après quatre heures, la clé sera automatiquement supprimée.

Pour autant que je sache, il n'y a pas de directive pour votre utilisateur ~/.ssh/config pour spécifier la durée de vie par défaut de toute clé ajoutée à l'agent, et il n'y a pas non plus de moyen dans le système de spécifier la durée de vie par défaut de toute clé ajoutée à l'agent. sshd_config . Cependant, il y a mai Il existe un moyen d'indiquer à macOS de lancer l'agent avec une durée de vie par défaut en utilisant l'attribut -t <lifetime> option. Pour l'intrepid, le fichier plist de l'agent de lancement est stocké dans /System/Library/LaunchAgents/com.openssh.ssh-agent.plist .

Un autre une approche plus ancienne, mais peut-être encore pertinente verrouille son trousseau de clés pendant son sommeil.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X