Il se souvenait du mot de passe, mais maintenant, il me le demande à chaque fois.
J'ai lu qu'il me fallait régénérer la clé publique avec cette commande, ce que j'ai fait:
ssh-keygen -y -f id_rsa > id_rsa.pub
mais ça n'a rien arrangé.
Comment faire en sorte que macOS se souvienne de ma phrase secrète?
ssh
module activé danszpretzorc
. De toute façon, c’est inutile sur macOS, et s’il est activé, il vous demandera votre phrase secrète même après l’ajout deUseKeychain
.ssh -v ...
pour voir s'il contient des informations de débogage utiles ...Réponses:
Dans la dernière version de macOS (10.12.2), cela est facile à corriger. Il suffit de modifier votre
~/.ssh/config
et activer leUseKeychain
option:Il n'est pas nécessaire de changer autre chose. Maintenant, tout fonctionne comme avant les dernières mises à jour. Vous n'avez pas besoin d'ajouter de clés à
ssh-agent
.Modifier: Vous devrez peut-être encore entrer votre phrase secrète une fois. Si vous ne le savez pas, suivez ces instructions pour le révéler.
la source
Host *
le bloc devrait (presque) toujours être placé au bas de votre~/.ssh/config
fichier. Quandssh
est à la recherche de paramètres, il utilise le premier valeur qu'il trouve. Ainsi, en mettant le bloc générique à la fin, il agit comme un ensemble de valeurs par défaut; vous pouvez remplacer les paramètres pour des hôtes spécifiques en les spécifiant plus tôt dans le fichier.Host *
titre. Il suffit d'ajouter la ligne uniqueUseKeychain yes
au sommet de votre.ssh/config
si vous souhaitez que cela s'applique à tous les hôtes.J'ai eu le même problème. Le trousseau MacOS Sierra ne cesse de demander le mot de passe. Votre id_rsa devrait être crypté avec une phrase secrète pour la sécurité. Ensuite, essayez de l'ajouter au trousseau
ssh-add -K ~/.ssh/id_rsa
Si votre clé est dans un autre dossier que
~/.ssh
puis remplacez par le bon dossier.Le trousseau connaît maintenant votre clé ssh et, espérons-le, tout fonctionne maintenant (le mien l'a fait)
la source
ssh-add
avec le-A
L’option cherchera dans le trousseau MacOS tous les mots de passe des identités en question. Je crois que cela vous demandera si les mots de passe ne sont pas dans le trousseau.Cela a résolu mon problème similaire:
Cela stocke les mots de passe dans votre trousseau.
Mettre à jour (merci @EasyCo): Cela fonctionne mais ne persiste pas entre les redémarrages. La solution de @ jukka-suomela sur cette page Est-ce que travailler à travers les redémarrages. Vous pouvez trouver cette réponse ici:
https://superuser.com/a/1158050/234685
la source
Je n'avais qu'à entrer le mot de passe correct une fois et cela a commencé à fonctionner. Le problème était que je ne me souvenais pas de ma phrase secrète SSH d'origine, mais je l'ai récupéré en suivant ces étapes de Github:
la source
Aucune des solutions ci-dessus n’avait fonctionné après l’installation de Sierra sur El Capitan sur un nouveau MacBook Pro. Sierra par sa conception n'enregistre pas les clés SSH dans le trousseau.
Deux solutions ont fonctionné pour moi. On est d'ajouter la commande
ssh-add -A &> /dev/null
vers ~ / .bash_profile. Chaque fois que vous ouvrez le terminal, cette commande sera exécutée (le&> /dev/null
partie envoie le résultat de la commande le fichier / dev / null).Une solution plus compliquée mais légèrement plus astucieuse consiste à créer une plist avec la commande qui est exécutée à chaque démarrage du système d'exploitation, comme suggéré dans Enregistrement de clés SSH dans le trousseau macOS Sierra . Cela implique l'utilisation de Xcode pour créer le fichier.
la source
Une solution consiste à ajouter les éléments suivants à votre fichier ~ / .ssh / config:
Pris à partir de: https://www.reddit.com/r/osx/comments/52zn5r/difficulties_with_sshagent_in_macos_sierra/ Regarde aussi: https://apple.stackexchange.com/a/264974/3810
la source
Bad configuration option: usekeychain
erreur je reçois avec UseKeychain (cependant, il est en majuscule). Mais je était capable de le faire fonctionner en supprimant uniquement cette ligne et en laissant AddKeysToAgent et IdentityFile (vous devez toujours entrer la phrase secrète la première fois). Ceci est avec macOS Sierra 10.12.6.which ssh
pour vous assurer que vous utilisez/usr/bin/ssh
et non une version de Fink ou MacPorts, qui serait sous quelque chose comme/usr/local/bin/ssh
ou/opt/local/bin/ssh
Ce matin, j'ai eu le même problème que vous après la mise à jour vers Sierra. Dans mon cas, le
id_rsa
Le fichier était crypté et après le décryptage, il fonctionnait à merveille.id_rsa
le fichier est crypté avec la commande suivante:cat ~/.ssh/id_rsa | head -2
Proc-Type: 4,ENCRYPTED
, il est crypté et vous pouvez essayer de le décrypterid_rsa
fichier! Utilisez la commandecp ~/.ssh/id_rsa ~/.ssh/id_rsa.bak
openssl rsa -in ~/.ssh/id_rsa -out ~/.ssh/id_rsa.decrypted
rm ~/.ssh/id_rsa
) et remplacez-le par celui déchiffré:mv ~/.ssh/id_rsa.decrypted ~/.ssh/id_rsa
Après ces étapes, vous devriez pouvoir utiliser ssh à nouveau.
la source
J'ai eu ce problème aussi lors de la tentative de déployer du code en utilisant Capistrano . Très frustrant. Je connais deux méthodes pour régler ce problème.
Méthode 1: Ajouter tous connus clés de l'agent SSH.
Donc, une solution que j'ai trouvée est de courir
ssh-add
avec le-A
Cette option ajoute toutes les identités connues à l'agent SSH à l'aide des phrases secrètes stockées dans votre trousseau, comme ceci:Maintenant, cela fonctionne, mais cela ne persistera pas après les redémarrages. Donc, si vous ne voulez plus jamais vous inquiéter à ce sujet, ouvrez simplement le
~/.bash_profile
fichier comme ceci:Et ajoutez cette ligne en bas:
Maintenant, lorsque vous ouvrez une nouvelle fenêtre de terminal, tout devrait être bon!
Méthode 2: Ajouter seules les clés SSH qui se trouvent dans le trousseau à l'agent.
Alors que le
ssh-add -A
L’option devrait fonctionner dans la plupart des cas, j’ai rencontré récemment un problème dans lequel j’avais 6-7 boîtes Vagrant (qui utilise des clés / identités SSH pour l’accès) installées sur une machine plus couranteid_rsa.pub
en place.Bref, j'ai été bloqué sur un serveur distant à cause d'un trop grand nombre d'essais infructueux basés sur les clés / identités SSH, car l'accès au serveur était basé sur un mot de passe et les clés / identités SSH étaient des clés / identités SSH. Alors l'agent SSH a essayé tout de mes clés SSH, a échoué et je ne pouvais même pas accéder à l’invite de mot de passe.
Le problème est que
ssh-add -A
ajoutera arbitrairement chaque clé / identité SSH que vous avez à l'agent même si cela n'est pas nécessaire; comme dans le cas des boîtes vagabondes.Ma solution après de nombreux essais était la suivante.
Tout d’abord, si vous avez ajouté à votre agent plus de clés / identités SSH que vous n’auriez besoin -
ssh-add -l
puis purgez-les tous de l'agent comme suit:Ceci fait, démarrez l’agent SSH en tant que processus en arrière-plan, comme suit:
Maintenant, ça devient bizarre et je ne sais pas trop pourquoi. Dans certains cas, vous pouvez ajouter spécifiquement le
~/.ssh/id_rsa.pub
clé / identité à l'agent comme suit:Tapez votre phrase secrète, appuyez sur Revenir et vous devriez être bon pour aller.
Mais dans d’autres cas, il suffit d’exécuter cela pour obtenir la clé / identité ajoutée:
Si tout cela a fonctionné, tapez
ssh-add -l
et vous devriez voir une seule clé / identité SSH listée.Tout bon? Maintenant, ouvrez votre
.bash_profile
:Et ajoutez cette ligne en bas; commenter ou supprimer le
-A
version si vous avez cela en place:Cela permettra à la clé / identité SSH d'être rechargée dans l'agent SSH à chaque démarrage / redémarrage.
UPDATE: Apple a maintenant ajouté un
UseKeychain
option aux options de configuration SSH ouvertes et considèressh-add -A
une solution aussi.À partir de macOS Sierra 10.12.2, Apple (je suppose) a ajouté un
UseKeychain
Option de configuration pour les configurations SSH. Vérification de la page de manuel (viaman ssh_config
) montre les informations suivantes:Cela revient à Apple à voir la solution soit en ajoutant
ssh-add -A
à ton.bash_profile
comme expliqué dans ce billet Open Radar ou en ajoutantUseKeychain
comme l'une des options d'un utilisateur~/.ssh/config
.la source
Jukka Suomela de réponse est correct, mais si vous utilisez
openssh
installé à partir dehomebrew
, vous devez également le désinstaller avec:... pour revenir au système par défaut openssh, car celui de homebrew ne prend pas en charge
UseKeychain
Entrée de configuration SSH.la source
J'ai essayé plusieurs réponses ici, mais je rencontrais toujours des problèmes avec le passage des clés à distance (comme lors de l'utilisation de capistrano). Pour le résoudre, j'ai lu la note technique d'Apple et j'en ai fait mon fichier de configuration. Plus besoin de demander mon mot de passe!
https://developer.apple.com/library/content/technotes/tn2449/_index.html
la source
J'ai essayé toutes les solutions suggérées ici, mais je n'ai pas de trousseau configuré dans mon Mac.
Ajout à la ligne suivante en haut
.ssh/config
fichier sur le local et la machine distante a travaillé pour moi.la source
Tu as besoin d'un
.plist
fichier ajouté à~/Library/LaunchAgents/
courirssh-add -A
à chaque démarrage de macOS.Il y a une seule commande qui fait cela (de Clés SSH dans macOS-Porte-clés Sierra ) lequel est:
la source