Por favor, verifique /var/log/auth.log
para possíveis erros durante a conexão. Esta linha
Oct 25 09:49:47 me-myubuntu sshd [16442]: Usuário me de localhost não permitido porque não listado em AllowUsers
indica o problema.
Vou mencionar algumas das muitas coisas que tentei e dar alguns diagnósticos. Eu gostaria de receber dicas sobre como depurar isso:
me@myubuntu:~/.ssh$ ssh localhost
Permission denied (publickey).
Anteriormente eu corri
sudo ufw allow ssh/tcp
e configure o encaminhamento de porta para a porta 22 no meu roteador, e verifique se ele está aberto aqui (mas talvez não seja necessário - não ssh até sair tão longe quanto o roteador quando eu ssh para mim?).
No meu diretório home / .ssh eu fiz cat id_rsa.pub >> authorized_keys
e configurei as permissões com chmod 600 authorized_keys
.
A execução de ssh -v localhost
gera muitos resultados e aqui estão as últimas linhas em que acredito que o problema acontece:
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).
Eu consegui ssh-ing para o meu repositório bitbucket, então acho que isso implica que meu conjunto de chaves id_rsa é válido e tem as permissões corretas.
Atualização 1:
> ~/.ssh$ ls -l ~/.ssh/authorized_keys
-rw------- 1 me me 747 Oct 25 08:27 /home/me/.ssh/authorized_keys
(parece bom)
Atualização 2:
~/.ssh$ ls -ld ~/.ssh
drwx------ 2 me me 4096 Oct 25 08:27 /home/me/.ssh
(parece bom)
Atualização 3: últimas linhas de /var/log/auth.log
logo após eu executar 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]
Bem, olhe para isso! Eu já mexi com o arquivo sshd_config e esqueci de especificar corretamente a minha opção AllowUsers.
SOLUÇÃO: incluir localhost
na linha AllowUsers
em sudo gedit /etc/ssh/sshd_config
Por favor, verifique /var/log/auth.log
para possíveis erros durante a conexão. Esta linha
Oct 25 09:49:47 me-myubuntu sshd [16442]: Usuário me de localhost não permitido porque não listado em AllowUsers
indica o problema.