Como não foi mencionado explicitamente, o sshd é, por padrão, muito rígido quanto às permissões dos authorized_keys
arquivos. Portanto, se authorized_keys
for gravável por alguém que não seja o usuário ou puder ser gravado por alguém que não seja o usuário, ele se recusará a se autenticar (a menos que o sshd esteja configurado com StrictModes no
)
O que quero dizer com "pode ser tornado gravável" é que, se qualquer um dos diretórios pai for gravável para alguém que não seja o usuário, os usuários com permissão para modificar esses diretórios poderão começar a modificar as permissões de forma que possam modificar / substituir as autorizadas.
Além disso, se o /home/username/.ssh
diretório não pertencer ao usuário e, portanto, o usuário não tiver permissões para ler a chave, você poderá encontrar problemas:
drwxr-xr-x 7 jane jane 4096 Jan 22 02:10 /home/jane
drwx------ 2 root root 4096 Jan 22 03:28 /home/jane/.ssh
Observe que Jane não possui o .ssh
arquivo. Corrija isso via
chown -R jane:jane /home/jane/.ssh
Esses tipos de problemas de permissão do sistema de arquivos não aparecerão ssh -v
e nem aparecerão nos logs sshd (!) Até que você defina o nível de log como DEBUG.
- Edit
/etc/ssh/sshd_config
. Você quer uma linha que lê LogLevel DEBUG
lá em algum lugar. Recarregue o servidor SSH usando o mecanismo fornecido pela distribuição. ( service sshd reload
no RHEL / CentOS / Scientific.) Uma recarga normal não interrompe as sessões existentes.
- Tente se autenticar novamente.
- Descubra onde seus logs do recurso de autenticação vão e os leia. (IIRC,
/var/log/auth.log
nas distros baseadas no Debian; /var/log/secure
no RHEL / CentOS / Scientific.)
Muito mais fácil descobrir o que está errado com a saída de depuração, que inclui erros de permissão do sistema de arquivos. Lembre-se de reverter a alteração para /etc/ssh/sshd_config
quando terminar!