Como posso obter a conta root para gerar uma chave ssh aceitável?

4

Em uma máquina Ubuntu eu fiz o seguinte:

~$ sudo su -
[sudo] password for jamie:
root@mydomain:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
12:34:56:78:9a:bc:de:f0:12:34:56:78:9a:bc:de:f0 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
+-----------------+
root@mydomain:~# cat /root/.ssh/id_rsa.pub | ssh -p 443 [email protected] 'cat > ~/.ssh/authorized_keys'
[email protected]'s password:
root@mydomain:~# ssh [email protected]
[email protected]'s password:

Está me pedindo uma senha.

No entanto, usando uma conta normal, os seguintes trabalhos:

$ cd ; ssh-keygen -t rsa ; cat ~/.ssh/id_rsa.pub | ssh [email protected] 'cat >> ~/.ssh/authorized_keys'
$ ssh [email protected]
Last login: Thu Oct 24 14:48:41 2013 from 173.45.232.105
[[email protected] ~]$ 

O que me leva a acreditar que não é um problema de authorized_keys versus authorized_keys2 ou permissões.

Por que a conta 'root' acessando a conta 'jamie' remota não funciona?

A máquina remota é o CentOS, se isso for relevante.

    
por Jamie 24.10.2013 / 20:56

2 respostas

2

A resposta foi encontrada aqui: link

provavelmente deve marcar essa questão como duplicata do mesmo.

    
por 25.10.2013 / 05:40
1

Tente executar o ssh no modo detalhado. Eu acho que isso geralmente fornece uma pista sobre o que está acontecendo.

Verifique a segurança nos diretórios até o .ssh na máquina de destino. Se algum diretório for mundial ou grupo, isso pode fazer com que o ssh se recuse a acessar seu arquivo de chaves autorizado. Eu acredito que o diretório .ssh não deve ser acessível para nenhum grupo ou mundo.

Tente criar um arquivo-chave no controle remoto e adicionar a chave pública ao arquivo authorized_keys. Obtenha ssh localhost trabalhando primeiro e, em seguida, tente o acesso remoto.

Você pode configurar o arquivo .ssh/config na raiz para adicionar o usuário para você. Algo como isso deve funcionar:

host remote
    hostname remote.server.box
    user=jamie
    
por 25.10.2013 / 02:06