Existem várias armadilhas possíveis aqui. Como você mesmo criou os diretórios, as permissões podem estar erradas.
As seguintes permissões são obrigatórias :
- O diretório
~/.ssh
não deve ser legível por ninguém além do proprietário, portanto, geralmentechmod 700
. não deve ser gravável por ninguém além do proprietário. - Arquivos de chave privada não devem ser legíveis ou graváveis por qualquer pessoa, exceto o proprietário, portanto, geralmente
chmod 600
.ssh-keygen
já faz isso por você. - O arquivo
~/.ssh/authorized_keys
não deve ser gravável por ninguém além do proprietário, pelo menos emchmod 644
. (Chaves públicas não são secretas - por definição!)
Em caso de dúvida: Execute sshd
no modo de depuração. Ele ficará ligado ao terminal:
sudo /usr/bin/sshd -p 2222 -d
Em seguida, conecte-se ao seu cliente, na porta 2222:
ssh -p 2222 my-ssh-server
O servidor registrará qualquer erro encontrado. Pode ser algo assim:
Authentication refused: bad ownership or modes for directory /home/fuzzy/.ssh