Se você está tendo problemas de autenticação com o ssh, a primeira coisa a investigar é o que o cliente diz com alguma depuração:
% ssh -v host
...
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /home/david/.ssh/id_dsa
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (publickey).
...
é uma conexão de chave pública bem-sucedida.
% ssh -v host
...
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /home/david/.ssh/id_dsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/david/.ssh/identity
debug1: Trying private key: /home/david/.ssh/id_rsa
debug1: Next authentication method: password
david@ace's password:
...
Isso não oferece muita informação sobre o motivo pelo qual a autenticação de chave pública foi recusada. A melhor informação está disponível no servidor. O Sshd irá logar ao recurso de syslog AUTH, então você pode encontrar informações onde quer que esteja logado (no caso do Debian /var/log/auth/
).
Aug 19 08:18:36 ace sshd[10100]: Authentication refused: bad ownership or modes
for directory /home/david/.ssh
Isso nos diz que as permissões para .ssh estão erradas e que podemos consertar isso facilmente.
Aug 19 08:26:41 ace sshd[12156]: error: key_read: uudecode
ZAAAAB3NzaC1kc3MAAACBAIUuAmpj9FuE71EfqJDVAfI+pUZ++xSWbUvEh7U36WW/...
Isso nos diz que não foi possível ler essa chave em particular, por isso sabemos como corrigir isso.
Se você não obtiver nenhuma informação útil dos registros, poderá ativar o registro. Edite /etc/ssh/sshd_config
e altere a linha LogLevel
para:
LogLevel DEBUG
Em seguida, execute
/etc/init.d/ssh reload
Agora, quando você tentar se conectar, deverá ver alguns registros como:
Aug 19 08:32:12 ace sshd[13537]: debug1: Checking blacklist file
/usr/share/ssh/blacklist.DSA-1024
Aug 19 08:32:12 ace sshd[13537]: debug1: Checking blacklist file
/etc/ssh/blacklist.DSA-1024
Aug 19 08:32:12 ace sshd[13537]: debug1: temporarily_use_uid: 1002/513 (e=0/0)
Aug 19 08:32:12 ace sshd[13537]: debug1: trying public key file
/home/david/.ssh/authorized_keys
Aug 19 08:32:12 ace sshd[13537]: debug1: fd 4 clearing O_NONBLOCK
Aug 19 08:32:12 ace sshd[13537]: debug1: matching key found: file
/home/david/.ssh/authorized_keys, line 1
Aug 19 08:32:12 ace sshd[13537]: Found matching DSA key:
1c:46:89:52:c1:79:c8:8f:43:3c:4e:77:ad:a1:5d:1b
Este foi um login bem-sucedido.
Se precisar de mais informações, você pode usar DEBUG2 e DEBUG3 para obter mais informações. Não se esqueça de alterar seu nível de log novamente (provavelmente para INFO) quando tiver corrigido o problema.