Pourquoi SSH demande à chaque fois mon mot de passe de clé privée

9

Depuis hier, chaque fois que j'essaye de me connecter à un serveur ssh, on me demande mon mot de passe. Que dois-je faire pour que SSH ne demande pas mon mot de passe à chaque fois.

Pliez
la source
Devinez aveugle par moi: vérifiez que votre clé est chargée ssh-add -l.
jw013
Je suppose que vous utilisez des clés ssh? Si vous n'utilisez pas de gestionnaire de clés et que votre phrase secrète n'est pas vide, c'est normal. Utilisez un gestionnaire de clés ou créez une phrase de passe vide pour votre clé. Je suppose que le premier est recommandé.
si c'est "depuis hier", c'est peut-être juste que vous avez mis à jour votre système, et maintenant ssh-agent ne fonctionne plus.
Coren

Réponses:

5

Insérez votre clé publique hostnachine:~/.ssh/authorized_keyset assurez-vous qu'elle dispose des autorisations appropriées - chmod 600. Consultez la page de manuel, section AUTHENTIFICATION, pour plus de détails. Notez que sshd peut être configuré pour interdire cette méthode de connexion bien que je ne sache pas pourquoi.

Sardathrion - contre les abus SE
la source
Merci, cela a fonctionné. Cependant, pourriez-vous m'expliquer pourquoi dois-je le mettre dans des clés autorisées et pourquoi cela fonctionnait auparavant.
Ben D
1
La page de manuel contient les informations de la section AUTHENTIFICATION. Quant à savoir pourquoi cela fonctionnait auparavant, je ne peux pas être sûr sans avoir un accès root à vos machines et faire un travail de criminalistique.
Sardathrion - contre les abus SE
2
Vous pouvez également utiliser ssh-copy-id afin d'obtenir votre clé publique automatiquement copiée sur l'hôte de destination, si vous ne voulez pas / n'avez pas besoin de la copier manuellement.
Coren
2

Vérifiez les autorisations de répertoire et les autorisations de fichier.

$HOME ne peut pas être inscriptible par groupe ou autre.

$HOME/.sshdoit avoir des 700autorisations, non lisibles, inscriptibles ou exécutables par groupe et autres.

$HOME/.ssh/authorized_keys ne pas être inscriptible ou exécutable par quiconque.

Si vous trouvez que les autorisations ne sont pas assez strictes, essayez de déterminer la cause du problème. La dernière fois que cela m'est arrivé, j'avais compilé PHP à partir de zéro. L'exécution en make installtant que root (Slackware) a changé les autorisations et la propriété de /ou /homesi je me souviens bien, et a empêché ssh de travailler avec authorized_keyset les id_rsa.pubfichiers qui étaient en place et fonctionnaient depuis des lustres. Vous souhaitez déterminer la cause du problème, car une modification de la propriété et / ou des autorisations du répertoire peut se produire en raison d'une installation de rootkit ou quelque chose du genre.

Bruce Ediger
la source
Cela l'a corrigé pour moi .. Après avoir corrigé mes autorisations, je l'ai ajouté en utilisant 'ssh-add' .. après avoir fermé ce terminal et l'ouvrir à nouveau et en faisant 'ssh-add -l' (L inférieur), je pouvais voir mon identité , ce qui a fonctionné .. Je pouvais SSH sur toutes mes boîtes sans avoir à taper ma clé privée 300+ fois par jour !! Je vous remercie!
Henry van Megen