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.
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ê.
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.
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!
ssh-add -l
.Respostas:
Coloque sua chave pública
hostnachine:~/.ssh/authorized_keys
e 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ê.fonte
Verifique as permissões de diretório e de arquivo.
$HOME
não pode ser gravável por grupo ou outro.$HOME/.ssh
precisa ter700
permissõ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 install
como root (Slackware) mudou as permissões e propriedade de/
ou/home
bem me lembro, e ssh impediu de trabalhar comauthorized_keys
eid_rsa.pub
arquivos 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.fonte