De um dia para o outro, o nosso servidor da empresa começou a me pedir minha senha SSH.
A primeira coisa que eu verifiquei foi para ver se a minha chave estava dentro de .ssh/authorized_keys
no servidor. Minha chave estava dentro, nada mudou. Também em /etc/ssh/sshd_config
nada mudou.
Então eu tentei fazer este procedimento no servidor Ubuntu16 recém-instalado. Depois de concluir essas 5 etapas, o novo servidor me pediu novamente a senha do SSH.
O comando ssh-copy-id
finalmente conseguiu um login SSH sem chave, mas notei que .ssh/authorized_keys
tem três linhas: uma começando com ssh-dss
e 2x começando com ssh-rsa
Agora lembro que o procedimento de 5 etapas do link acima funcionou no passado com apenas uma chave.
Alguma coisa mudou recentemente? Por que procedimento acima não funciona mais?
Editar:
Como ssh-copy-id
copia completamente 3 chaves para .ssh/authorized_keys
, essas chaves podem ser encontradas nos seguintes arquivos:
~/.ssh/id_dsa
~/.ssh/sshkey.pub
~/.ssh/id_rsa.pub
, excluí linha por linha do arquivo .ssh/authorized_keys
do controle remoto
excluído ~/.ssh/id_dsa
line - login automático foi bem-sucedido
excluído ~/.ssh/id_rsa.pub
line - login automático foi bem-sucedido
excluído ~/.ssh/sshkey.pub
linha - login automático não foi bem-sucedido - pedido de senha
Apenas o conteúdo de ~/.ssh/sshkey.pub
é necessário.
Por que o SSH está comparando sshkey.pub
e não id_rsa.pub
, como no exemplo do tutorial on-line?
Tags command-line ssh ssh-config