Por que o SSH está solicitando minha senha de chave privada sempre

9

Desde ontem, cada vez que tento conectar-me a um servidor ssh, minha senha é solicitada. O que devo fazer para que o SSH não solicite minha senha todas as vezes.

Dobrar
fonte
Palpite cego por mim: verifique se a sua chave está carregada ssh-add -l.
Jw013
Eu suponho que você está usando chaves ssh? Se você não usa um gerenciador de chaves e possui uma frase secreta não vazia, isso é normal. Use um gerenciador de chaves ou crie uma frase secreta vazia para sua chave. Eu acho que o primeiro é recomendado.
se for "desde ontem", talvez você tenha atualizado seu sistema e agora o ssh-agent não funcione mais.
Coren

Respostas:

5

Coloque sua chave pública hostnachine:~/.ssh/authorized_keyse verifique se ela possui as permissões apropriadas - chmod 600. Consulte a página de manual, seção AUTENTICAÇÃO, para obter mais detalhes. Observe que o sshd talvez esteja configurado para proibir esse método de login, embora eu não possa entender o porquê.

Sardathrion - contra o abuso de SE
fonte
Obrigado, isso funcionou. No entanto, você poderia me explicar por que eu tenho que colocá-lo em allowed_keys e por que ele estava funcionando sem ele antes.
Ben D
11
A página do manual possui as informações na seção AUTENTICAÇÃO. Quanto ao porquê estava funcionando antes, não tenho certeza sem ter acesso root às suas máquinas e fazer algum trabalho forense.
Sardathrion - contra abuso do SE
2
Você também pode usar ssh-copy-id para obter sua chave pública copiada automaticamente para o host de destino, se você não quiser / precisar copiá-la manualmente.
Coren
2

Verifique as permissões de diretório e de arquivo.

$HOME não pode ser gravável por grupo ou outro.

$HOME/.sshprecisa ter 700permissões, não legíveis, graváveis ​​ou executáveis ​​por grupo e outros.

$HOME/.ssh/authorized_keys não pode ser gravado ou executável por ninguém.

Se você achar que as permissões não são suficientemente rígidas, tente descobrir o que causou o problema. A última vez que isso aconteceu comigo, eu compilei o PHP do zero. Executar make installcomo root (Slackware) mudou as permissões e propriedade de /ou /homebem me lembro, e ssh impediu de trabalhar com authorized_keyse id_rsa.pubarquivos que estavam no lugar e trabalhar para as idades. Você deseja determinar o que causou o problema, pois a propriedade e / ou a permissão alteradas do diretório podem ocorrer devido a uma instalação do rootkit ou algo assim.

Bruce Ediger
fonte
Isso foi corrigido para mim .. Depois de corrigir minhas permissões, adicionei-o usando 'ssh-add' .. depois de fechar o terminal e reabri-lo e executar 'ssh-add -l' (L inferior), pude ver minha identidade , que funcionou .. Eu poderia fazer o SSH para todas as minhas caixas sem precisar digitar meu passe de chave privada mais de 300 vezes por dia !! Obrigado!
Henry van Megen