A resposta foi encontrada aqui: link
provavelmente deve marcar essa questão como duplicata do mesmo.
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.
A resposta foi encontrada aqui: link
provavelmente deve marcar essa questão como duplicata do mesmo.
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