Se a sua saída ssh -v no cliente mostrar que é "Oferecendo chave pública" e depois passar para "Próximo método de autenticação: senha" sem um erro aparente, aqui estão algumas coisas para tentar (funcionam para mim CentOS e Fedora):
- Se o seu servidor
sshd_configtiverStrictModes yes(geralmente o padrão), será necessário obedecer a algumas regras de permissões: no servidor, o diretório inicial do usuário não pode ser gravável por grupo ou outro (700, 711 ou 755 deve funcionar), e~/.sshdeve ser 700 e~/.ssh/authorized_keysdeve ser 600 (ambos privados). - Se você criou o diretório
~/.sshno servidor como um usuário diferente e se o seu SELinux estiver no modo estrito, isso pode estar atrapalhando. No servidor, executerestorecon -Rv ~/.sshcomo usuário e, se ele emitir algumas alterações, isso poderá resolver seu problema. (Esse é um bom motivo para usar o comandossh-copy-iddo cliente, portanto~/.sshé criado como o usuário.) - Mesmo se o número 2 não fosse o seu problema, o SELinux ainda pode ser o culpado. Inspecione
/var/log/audit/audit.logpara erros ... uma vez eu estava tentando usar o SSH para executar um comando como um usuário do daemon cujo diretório pessoal estava sob/var, e o SELinux estava negando a capacidade de ler~/.ssh/authorized_keysneste caso. / li>