Use ssh-copy-id
para copiar suas chaves; ele criará todos os arquivos / diretórios necessários e consertará todas as permissões quebradas ao longo do caminho.
Eu sei que esta pergunta foi feita, mas tenho certeza de que fiz o que todas as outras respostas sugerem.
Máquina A:
Máquina B
Também assegurei que os dois diretórios .ssh têm a permissão 700 nas máquinas A e B.
Se eu tentar fazer o login na máquina B da máquina A, recebo a senha, não a frase secreta ssh.
Eu tenho os usuários de raiz em ambas as máquinas para falar uns com os outros usando ssh sem senha, mas não consigo fazer um usuário normal fazê-lo.
Os nomes dos usuários devem ser os mesmos em ambos os lados? Ou há algum outro cenário onde eu perdi?
A máquina A é uma máquina virtual Ubuntu 10.04 executada dentro do VirtualBox em um computador com Windows 7; a Máquina B é um servidor dedicado do Ubuntu 9.10
UPDATE : Eu executei o ssh com a opção -vvv , que fornece muitas linhas de saída, mas estes são os últimos comandos:
debug3: check_host_in_hostfile: filename /home/pete/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 1
debug1: Host '192.168.1.19' is known and matches the RSA host key.
debug1: Found key in /home/pete/.ssh/known_hosts:1
debug2: bits set: 504/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: Wrote 16 bytes for a total of 1015
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug3: Wrote 48 bytes for a total of 1063
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/pete/.ssh/identity ((nil))
debug2: key: /home/pete/.ssh/id_rsa (0x7ffe1baab9d0)
debug2: key: /home/pete/.ssh/id_dsa ((nil))
debug3: Wrote 64 bytes for a total of 1127
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,gssapi,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/pete/.ssh/identity
debug3: no such identity: /home/pete/.ssh/identity
debug1: Offering public key: /home/pete/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 368 bytes for a total of 1495
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/pete/.ssh/id_dsa
debug3: no such identity: /home/pete/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
Use ssh-copy-id
para copiar suas chaves; ele criará todos os arquivos / diretórios necessários e consertará todas as permissões quebradas ao longo do caminho.
o nome do arquivo deve ser: authorized_keys2
e deve ser chmod 600
.
~/.ssh (700)
~/.ssh/authorized_keys2 (600)
~/.ssh/id_rsa (600)
~/.ssh/id_rsa.pub (644)
* UPDATE * : fornece a saída dos seguintes itens (de um servidor remoto):
ls -ld ~/.ssh ~/.ssh/authorized_key*
O SELinux está ativado? (use: getenforce
), você está recebendo Permissive
ou Enfrocing
?