Esta linha parece suspeita:
echo id_rsa.pub >> authorized_keys
Você pode querer dizer algo como:
cat id_rsa.pub >> authorized_keys
Você também pode editar authorized_keys
e remover a linha que diz id_rsa.pub
Estou executando o Ubuntu 13.04 em uma instância do OpenStack. Quando eu criei a instância, eu especifiquei um par de chaves, e eu posso ssh na caixa com o comando:
[laptop]$ ssh -i keypair.pem ubuntu@my-instance
Eu não sei o que a mágica OpenStack fez para que isso funcionasse, mas acontece. Agora gostaria de configurar a autenticação de chave pública "normal". Eu não posso nem conseguir que isso funcione, de modo a fazer o login da instância para localhost; sempre pede minha senha! Eu tentei:
[my-instance]$ cd ~/.ssh
[my-instance]$ ssh-keygen -t rsa
[my-instance]$ echo id_rsa.pub >> authorized_keys
[my-instance]$ ssh localhost
Password: _
Eu faço isso o tempo todo com servidores "normais"; Eu verifiquei as permissões na chave privada e arquivos authorized_keys, e também tentei dsa & amp; chaves ecdsa. A saída de ssh -v não é muito iluminante (veja abaixo). Alguém pode esclarecer minha situação?
...
debug1: Found key in /home/ubuntu/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/ubuntu/.ssh/id_rsa (0x7f86d8041ec0)
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/ubuntu/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,keyboard-interactive
debug2: we did not send a packet, disable method
debug1: Next authentication method: keyboard-interactive
...
Esta linha parece suspeita:
echo id_rsa.pub >> authorized_keys
Você pode querer dizer algo como:
cat id_rsa.pub >> authorized_keys
Você também pode editar authorized_keys
e remover a linha que diz id_rsa.pub