Comment puis-je ajouter de façon permanente ma clé privée SSH au trousseau pour quelle soit automatiquement disponible pour ssh?

Il semble que ssh-add -K ~/.ssh/id_rsa chargera votre clé mais vous demandera le mot de passe à chaque redémarrage.

Je recherche une solution qui ne mobligerait pas à saisir à nouveau le mot de passe clé entre les connexions.

Commentaires

  • Peut vous en dites un peu plus sur le moment où linvite de mot de passe apparaît pour vous? Je demande parce que jai une clé ssh pour un serveur distant, ce qui, je vous assure, nest pas le même que mon mot de passe de connexion Mac ou quoi que ce soit dautre, et je nai pas ' entrer le mot de passe pour la clé ssh pendant ans . Je peux simplement ouvrir un terminal, tapez " ssh < serveur > ", et je suis ' ici. Je pense que jai dabord configuré cette clé sous OSX 10.5. id_dsa, mais je ne pense ' que cela devrait avoir de limportance.
  • Ma clé id_rsa a un mot de passe dessus.
  • Jai aussi le problème que jai résolu il y a si longtemps que je ne peux ' pas me souvenir exactement de ce que jai fait. Mais je pense que l’idée est de ne pas exécuter ssh-add, mais simplement de lancer ssh directement. Vous devriez voir apparaître une fenêtre qui servira de phrase de passe pour la clé, et avec une case à cocher pour vous permettre de la stocker dans votre trousseau.
  • @Sorin – la mienne aussi! Jai dû le saisir une fois, il y a longtemps, et le Mac me la gardé depuis. Jespère que les conseils de Harald ' vous aideront.
  • Voulez-vous dire le mot de passe du trousseau (cest-à-dire votre mot de passe de connexion) ou la clé ' s mot de passe? Si cest le dernier ', vos phrases de passe sont-elles définitivement stockées dans le trousseau? Vous pouvez le vérifier en ouvrant laccès au trousseau et en le recherchant dans le trousseau de connexion.

Réponse

Sous OSX , le client ssh-add natif a un argument spécial pour enregistrer la phrase de passe de la clé privée dans le trousseau OSX, ce qui signifie que votre connexion normale le déverrouillera pour une utilisation avec ssh. Sous OSX Sierra et plus tard, vous devez également configurer SSH pour toujours utiliser le trousseau (voir létape 2 ci-dessous).

Vous pouvez également utiliser une clé sans phrase de passe, mais si vous préférez la sécurité qui est certainement acceptable avec ce workflow.

Étape 1 – Stockez la clé dans le trousseau

Faites ceci une fois:

ssh-add -K ~/.ssh/[your-private-key] 

Entrez votre mot de passe clé, et vous ne serez plus invité à le faire.

(Si vous utilisez une version antérieure à Sierra dOSX, vous avez terminé, létape 2 nest pas requise.)

Étape 2 – Configurez SSH pour toujours utiliser le trousseau

Il semble quOSX Sierra ait supprimé le comportement pratique consistant à conserver vos clés entre les connexions, et la mise à jour vers ssh nutilise plus le trousseau par défaut. Pour cette raison, vous serez invité à entrer la phrase de passe dune clé après la mise à niveau, et à nouveau après chaque redémarrage.

La solution est assez simple et est décrite dans ce commentaire de fil de discussion github . Voici comment vous le configurez:

  1. Assurez-vous davoir terminé létape 1 ci-dessus pour stocker la clé dans le trousseau.

  2. Si vous « t déjà », créez un fichier ~/.ssh/config. En dautres termes, dans le répertoire .ssh de votre répertoire personnel, créez un fichier appelé config.

  3. Dans ce fichier .ssh/config, ajoutez les lignes suivantes :

     Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa 

    Remplacez ~/.ssh/id_rsa par le nom de fichier réel de votre clé privée. Si vous avez dautres clés privées dans votre ~/.ssh, ajoutez également une ligne IdentityFile pour chacun deux. Par exemple, jai une ligne supplémentaire qui lit IdentityFile ~/.ssh/id_ed25519 pour une deuxième clé privée.

    Le UseKeychain yes est la partie clé, qui indique à SSH de rechercher la clé dans votre trousseau OSX mot de passe.

  4. Cest tout! La prochaine fois que vous chargerez une connexion ssh, il essaiera les clés privées que vous avez spécifiées, et il recherchera leur phrase de passe dans le trousseau OSX. Aucune saisie de phrase de passe requise.

Commentaires

  • @Poulsbo & @Abram – voir ma mise à jour, Sierra a changé le comportement automatique et maintenant vous devez exécuter ssh-add -A manuellement pour charger votre trousseau enregistré. Quelques solutions possibles référencées ci-dessus.
  • @trisweb Merci pour le conseil. joshbuchea ' s de modifier le fichier .ssh/config semble prometteuse! Voir github.com/lionheart/openradar-mirror/issues/…
  • Fonctionne très bien!Dans mon cas, je devais utiliser lindicateur A en plus de lindicateur K pour ajouter mes clés au trousseau et enregistrer la phrase de passe dans il (ssh-add -AK ~/.ssh/[your-private-key]). Merci!
  • Même avec loption usekeychain, je trouve toujours que mon trousseau laissera tomber la clé .ssh / id_rsa au redémarrage.
  • Jai fait exactement la même chose et mon Mac laisse toujours tomber le clé au redémarrage.

Réponse

Jai eu un problème similaire, en ce sens quon me demandait à chaque fois pour ma phrase de passe de clé de pub. Par suggestion de lutilisateur « trisweb » ci-dessus, jai activé ces options sur ~/.ssh/config:

Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa 

Mais cela me demandait toujours à chaque fois que je voulais utiliser ssh. Finalement, jai activé ssh -v et jai trouvé cette ligne de débogage:

debug1: key_load_private: incorrect passphrase supplied to decrypt private key 

Jai ensuite ouvert mon trousseau dans « Keychain Access .app « , a trouvé la clé nommée » SSH: /Users/username/.ssh/id_rsa « et la ouverte. Jai cliqué sur « Afficher le mot de passe » pour divulguer le mot de passe et jai en effet constaté que la phrase de passe du trousseau de clés était une ancienne phrase de passe. Jai mis à jour la phrase de passe dans Keychain Access, et maintenant fonctionne sans mot de passe.

Jaurais pu également mettre à jour la phrase de passe avec cette phrase:

ssh-keygen -p -f ~/.ssh/id_rsa 

Commentaires

  • Dans mon Mac, le mot de passe est enregistré dans la catégorie «mot de passe» de la chaîne «iCloud». Je pensais que cétait dans la chaîne « connexion ».

Réponse

À tous les cas où ce qui précède na pas fonctionné , mon problème semble être dû au fait que je dupliquais le UseKeychain yes & AddKeysToAgent yes dans tout Profils / raccourcis clés ssh. Jai mis à jour mon fichier ~/.ssh/config pour ne les déclarer quune seule fois et ils se chargent tous à la connexion sans demander de mot de passe au démarrage, par exemple:

Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/foo IdentityFile ~/.ssh/bar Host foo HostName foo.com User fooUser IdentityFile ~/.ssh/foo Host bar HostName bar.com User barUser IdentityFile ~/.ssh/bar 

Commentaires

  • Je recommanderais Host * dêtre après des règles dhôte spécifiques. Voir man ssh_config pour plus de détails.

Réponse

Aussi, dans macOS Sierra et HighSierra (je ne connais pas les versions précédentes), lexécution de ssh-add -A permettra à lagent de charger toutes les clés dont les phrases de passe sont stockées sur le trousseau … donc très pratique

Réponse

Ajoutez la clé publique dans:

.ssh/known_hosts 

Public la clé est généralement activée:

/home/user/.ssh/id_rsa.pub 

Jespère que cela aide

Commentaires

  • Je pense que ça veut dire que authorized_keys
  • Quoi quil en soit, cela ne ' t fonctionne si vous avez plus dune clé!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *