ssh-keygen funciona apenas para root?

ssh-keygen funciona apenas para root?

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.

informação relacionada