ssh-keygen funciona apenas para raiz?

7

O ssh-keygen -t rsa funciona se configurado 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 mencionado e no sistema remoto se eu colocar a chave em /root/.ssh authorized_keys, isso funciona.

Mas no sistema remoto, se a chave for colocada em /home/natrium/.ssh authorized_keys

Isso ainda pede uma senha.Isso é o comportamento esperado ou é que alguma coisa errada no procedimento acima

Obrigado ..

    
por Hulk 31.05.2010 / 12:58

4 respostas

5

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) chamada: ssh-copy-id que fará isso para você:

$ ssh-copy-id <remote>

Se isso não funcionar, tente ssh com a opção "-v" para ver mais mensagens 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
    
por 31.05.2010 / 13:04
2

Verifique as permissões de ~ sodium / .ssh / authorized_keys até /. Se alguma destas forem chaves ssh graváveis, não será confiável.

Execute ssh-keygen como o usuário para quem você precisa da chave. Deve ser executado no sistema ao qual você estará se conectando.

ssh-copy-id copiará ids da máquina de destino para a máquina na qual você deseja usar a chave.

    
por 31.05.2010 / 16:40
0

Tente isto:

ssh -v [email protected]

Pode ser que você esteja tentando fazer login no sistema remote4 como sodium , mas você instalou a chave para natrium .

    
por 31.05.2010 / 14:31
0

Onde você gera as chaves não importa, onde você as armazena.

Se você quiser SSH de uma máquina para outra, a chave privada precisa estar na pasta .ssh na conta da qual você é SSHing como id_rsa, e a chave pública deve estar no arquivo .ssh / authorized_keys no a conta para a qual você está acessando. As chaves são para usuários, não para máquinas. Então, as contas nas quais você as instalou fazem uma grande diferença.

Outra coisa a ter em mente é a versão do SSH que você está usando, pelo que entendi, para o SSH2, as chaves devem estar em .ssh / authorized_keys2.

Finalmente, para realmente ver o que está acontecendo, é melhor seguir as instruções da Lexsys e o ssh no modo verbose com o sinalizador -v.

    
por 31.05.2010 / 16:55

Tags