web-dev-qa-db-fra.com

'ssh localhost' donne 'La permission est refusée (publickey)'.

Je vais mentionner quelques-unes des nombreuses choses que j'ai essayées et donner quelques diagnostics. J'apprécierais n'importe quels indices sur la façon dont déboguer ceci:

me@myubuntu:~/.ssh$ ssh localhost
Permission denied (publickey).

Auparavant j'ai couru

Sudo ufw allow ssh/tcp

et mis en place une redirection de port pour le port 22 de mon routeur, et vérifié que cela est ouvert ici (mais peut-être pas nécessaire - ssh va-t-il même jusqu'à le routeur quand je me ssh moi-même?).

Dans mon répertoire home/.ssh, j’ai fait cat id_rsa.pub >> authorized_keys et j’ai configuré les autorisations avec chmod 600 authorized_keys.

Lancer ssh -v localhost donne beaucoup de résultats, et voici les dernières lignes où le problème se pose:

debug1: Host 'localhost' is known and matches the ECDSA Host key.
debug1: Found key in /home/me/.ssh/known_hosts:3
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/me/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Offering RSA public key: me@myubuntu
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/me/.ssh/id_dsa
debug1: Trying private key: /home/me/.ssh/id_ecdsa
debug1: No more authentication methods to try.
Permission denied (publickey).

J'ai réussi à ssh-ing à mon référentiel bitbucket, donc je pense que cela implique que mon jeu de clés id_rsa est valide et dispose des autorisations appropriées.

Mise à jour 1:

> ~/.ssh$ ls -l ~/.ssh/authorized_keys
-rw------- 1 me me 747 Oct 25 08:27 /home/me/.ssh/authorized_keys

(Cela semble bon)

Mise à jour 2:

~/.ssh$ ls -ld ~/.ssh
drwx------ 2 me me 4096 Oct 25 08:27 /home/me/.ssh

(Cela semble bon)

Mise à jour 3: Dernières dernières lignes de /var/log/auth.log juste après avoir exécuté ssh localhost:

Oct 25 09:49:47 me-myubuntu sshd[16442]: Connection from 127.0.0.1 port 36944
Oct 25 09:49:47 me-myubuntu sshd[16442]: User me from localhost not allowed because not listed in AllowUsers
Oct 25 09:49:47 me-myubuntu sshd[16442]: input_userauth_request: invalid user me [preauth]
Oct 25 09:49:47 me-myubuntu sshd[16442]: Connection closed by 127.0.0.1 [preauth]

Eh bien regarde ça! Auparavant, j'ai manipulé le fichier sshd_config et oublié de spécifier correctement mon option AllowUsers.

SOLUTION: Inclure localhost dans la ligne AllowUsers de Sudo gedit /etc/ssh/sshd_config

1
zkurtz

S'il vous plaît, vérifiez /var/log/auth.log pour les erreurs possibles lors de la connexion. Cette ligne

25 oct 09:49:47 me-myubuntu sshd [16442]: L'utilisateur me de localhost n'est pas autorisé car il n'est pas répertorié dans AllowUsers

indique le problème.

3
Jakuje