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
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.