se você especificar explicitamente a chave no seu teste, como:
ssh -i ~/.ssh/dest_backup_id user4@dest-server
isso tem sucesso?
Você pode usar um -v
com ssh
para aumentar a verbosidade da saída, o que pode ser útil no isolamento de problemas dessa natureza.
A primeira coisa que eu verificaria é que o user4 tem um arquivo $HOME/.ssh/authorized_keys
e que a chave pública está lá.
Se a chave estiver listada corretamente, verifique se as permissões no diretório $HOME/.ssh
e em todos os arquivos estão corretos. E $HOME
também.
chmod go-w /home/$USERNAME
chmod 700 /home/$USERNAME/.ssh
chmod 644 /home/$USERNAME/.ssh/authorized_keys
Além disso, verifique se todos os arquivos são de propriedade do usuário certo:
chown -R $USERNAME /home/$USERNAME/.ssh
Além disso, é uma boa ideia verificar os registros. Geralmente, sshd
registra em /var/log/auth.log
, mas você pode verificar isso no arquivo /etc/ssh/sshd_config
.
Aumente o detalhamento da criação de log, se for necessário, e reinicie os serviços ssh.
Na minha experiência, quando o ssh com uma chave não está funcionando como esperado, é um problema de permissões. Talvez alguém tenha copiado um arquivo como root e tenha esquecido de usá-lo, ou talvez as permissões estejam abertas demais na chave privada ou algo assim.
E, não, a alteração da senha não afetará o uso das ssh_keys. Enquanto uma senha e um ssh_key parecem executar funções semelhantes em termos de permitir acesso a um sistema, eles o fazem através de mecanismos muito diferentes, e o sshd realmente não tem confiança na senha (embora geralmente deva haver uma conta, e não deve ser bloqueado).