59 votes

Le serveur continue de demander un mot de passe après que j'ai copié ma clé publique SSH dans authorized_keys

J'ai un serveur Ubuntu, fonctionnant dans un nuage. J'ai créé un utilisateur ( git ). Dans le dossier /home/git J'ai créé le .ssh/ dir, et le authorized_keys fichier.

Mais, lorsque je mets ma clé publique SSH dans le fichier authorized_keys le serveur continue à me demander le mot de passe.

Qu'est-ce que j'ai fait de mal ?

3voto

TTT Points 131

Vous pouvez également ajouter votre clé à l'agent SSH :

u@pc:~$ ssh-agent bash
u@pc:~$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/u/.ssh/id_rsa: # ENTER YOUR PASSWORD
Identity added: /home/u/.ssh/id_rsa (/home/u/.ssh/id_rsa)

2voto

Sergey Demin Points 226

Si votre dossier d'accueil est crypté alors votre authorized_keys n'est pas lisible avant la connexion. Vous devez le déplacer en dehors de votre domicile.

Voici l'explication et la marche à suivre : https://help.ubuntu.com/community/SSH/OpenSSH/Keys#Troubleshooting

1voto

trailNerror Points 11

J'ai pu voir le message suivant dans le journal /var/log/auth.log du serveur distant. userauth_pubkey : type de clé ssh-rsa pas dans PubkeyAcceptedKeyTypes

Cela indique que la clé de type ssh-rsa sur mon système local n'est pas acceptée par le serveur. J'ai donc modifié la configuration du serveur en changeant et en ajoutant la valeur ssh-rsa à l'attribut/propriété PubkeyAcceptedKeyTypes dans le fichier /etc/ssh/sshd_config sur mon serveur et en redémarrant le démon sshd.

Cela a résolu le problème

1voto

StefTN Points 91

TL;DR

Du côté du client :

  • ouvrir le fichier de configuration /etc/ssh/ssh_config ;
  • ici chercher PreferredAuthentications ;
  • veillez à password vient après publickey et non l'inverse

Dans mon cas password a été écrit avant publickey Ainsi, ssh me demandait un mot de passe alors que j'avais copié ma pub_key sur le serveur.

Ce problème peut être découvert facilement en utilisant verbose :

ssh -v compute@compute1 ... ... debug1: Authentications that can continue: publickey,password debug1: Next authentication method: password

Comme vous pouvez le constater password est choisi avant d'essayer d'utiliser la clé publique.

Modifier /etc/ssh/ssh_config en déplaçant password après publickey

Authentifications préférées clavier-interactif, publickey,password ,basé sur l'hôte,gssapi-avec-mi

Maintenant je peux me connecter sans être invité à saisir le pwd.

1voto

Victor Points 11

Une autre chose à vérifier est la présence de retours chariot supplémentaires dans votre clé publique. J'ai suivi les conseils ci-dessus pour examiner le fichier /var/log/auth.log et j'ai vu une erreur lors de la lecture de la clé. La clé faisait environ deux lignes au lieu de quatre. Il y avait des retours chariot supplémentaires intégrés dans la clé.

Lorsque vous utilisez l'éditeur vi, utilisez shift-j pour joindre les lignes et effacer l'espace supplémentaire dans la chaîne de touches.

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