Ssh-keygen -t rsa funciona se definido apenas para o usuário root
ou seja, se o nome de usuário no sistema local for sódio e eu gerar a chave usando o comando acima e no sistema remoto se eu colocar a chave em /root/.sshauthorized_keys ,isso funciona.
Mas no sistema remoto, se a chave for colocada em /home/natrium/.sshauthorized_keys
Isso ainda solicita uma senha. Esse é o comportamento esperado ou há algo errado no procedimento acima
Obrigado..
Responder1
Verifique as permissões no sistema remoto:
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
Existe uma ferramenta que pode ser instalada em seu dist (ubuntu/debian possui) chamada:ssh-cópia-idque fará isso por você:
$ ssh-copy-id <remote>
Se isso não funcionar, tente ssh com a opção "-v" para ver mensagens mais detalhadas.
Versão longa:
#From client to server
client$ scp ~/.ssh/id_rsa.pub remote_server.org:
# next, setup the public key on server
server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub
Responder2
Verifique as permissões de ~sodium/.ssh/authorized_keys até /. Se alguma dessas chaves ssh graváveis mundialmente não será confiável.
Execute ssh-keygen como o usuário para quem você precisa da chave. Ele deve ser executado no sistema ao qual você se conectará.
ssh-copy-id copiará os ids da máquina de destino para a máquina na qual você deseja usar a chave.
Responder3
Experimente isto:
ssh -v [email protected]
Pode ser que você esteja tentando fazer login no sistema remote4 como sodium
, mas instalou a chave para natrium
.
Responder4
Não importa onde você gera as chaves, mas onde você as armazena.
Se você deseja fazer SSH de uma máquina para outra, a chave privada precisa estar na pasta .ssh na conta da qual você está fazendo SSH como id_rsa, e a chave pública deve estar no arquivo .ssh/authorized_keys na conta que você estão usando SSH. As chaves são para usuários, não para máquinas. Portanto, as contas nas quais você os instala fazem uma grande diferença.
Outra coisa a ter em mente é a versão do SSH que você está usando, pelo que entendi, para SSH2 as chaves devem estar em .ssh/authorized_keys2.
Finalmente, para realmente ver o que está acontecendo, é melhor seguir as instruções do Lexsys e fazer ssh no modo detalhado com o sinalizador -v.