Comportamiento extraño al iniciar sesión con clave pública SSH

Comportamiento extraño al iniciar sesión con clave pública SSH

Estoy realmente atrapado aquí. He estado intentando ingresar a mi servidor ec2 desde local con una clave pública pero no funciona. -> Obtengo permiso denegado (clave pública).

La configuración es la siguiente: Local: par de claves públicas generadas y contenido copiado de id_rsa.pub. Remoto: ingresé por ssh a mi servidor EC2 con el archivo PEM y pegué el contenido de id_rsa.pub en una nueva línea de archivo de claves autorizadas en la carpeta .ssh.

¿Debería funcionar bien? Noté que un error común son los permisos, pero los míos parecen estar configurados correctamente:

Permisos remotos:

drwx------ 2 ec2-user ec2-user  4096 Jul 23 04:00 .ssh

y en .ssh:

-rw-r--r-- 1 ec2-user ec2-user  404 Jul 24 03:19 id_rsa.pub
-rw------- 1 ec2-user ec2-user 1679 Jul 24 03:19 id_rsa
-rw------- 1 ec2-user ec2-user  529 Jul 26 20:53 authorized_keys

Local:

drwx------    10 robvanhaaren  staff    340 Jul 26 18:43 .ssh

y en .ssh:

-rw-r--r--  1 robvanhaaren  staff   404 Jul 26 21:28 id_rsa.pub
-rw-------  1 robvanhaaren  staff  1766 Jul 26 21:28 id_rsa
-rw-r--r--  1 robvanhaaren  staff  5987 Jul 26 21:29 known_hosts

Pero cuando corro:

Robs-MacBook-Air-2:.ssh robvanhaaren$ ssh ec2-54-85-62-99.compute-1.amazonaws.com -l ec2-user -v

vuelve:

OpenSSH_5.9p1, OpenSSL 0.9.8y 5 Feb 2013
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to ec2-54-85-62-99.compute-1.amazonaws.com [54.85.62.99] port 22.
debug1: Connection established.
debug1: identity file /Users/robvanhaaren/.ssh/id_rsa type 1
debug1: identity file /Users/robvanhaaren/.ssh/id_rsa-cert type -1
debug1: identity file /Users/robvanhaaren/.ssh/id_dsa type -1
debug1: identity file /Users/robvanhaaren/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.2
debug1: match: OpenSSH_6.2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 7a:d3:6c:7f:64:5d:b1:7b:2e:bb:73:0c:ce:0c:17:77
debug1: Host 'ec2-54-85-62-99.compute-1.amazonaws.com' is known and matches the RSA host key.
debug1: Found key in /Users/robvanhaaren/.ssh/known_hosts:15
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/robvanhaaren/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/robvanhaaren/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).

Lo extraño es que PUEDO iniciar sesión con una clave pública en el servidor desde mi otro servidor ec2.Entonces el problema parece estar en mi máquina local., no el control remoto.

¡Por favor ayuda!

Respuesta1

Los problemas de SSH pueden ser una molestia. Siempre empiezo con lo siguiente. Tengo los comandos guardados en una hoja de referencia para no tener que temer nunca los errores tipográficos.

chmod 700 ~/.ssh && chmod 600 ~/.ssh/* \
&& chmod 644 ~/.ssh/authorized_keys \
&& chown -r <username>:<username> /home/<username>/.ssh \
&& chown -r <username>:<username> /home/<username>/.ssh/*

Si eso no funciona, eliminaría las claves_autorizadas y las volvería a crear (tenga en cuenta la propiedad y los permisos), asegurándome de copiar el contenido del bloc de notas u otro editor de texto adecuado. Wordpad y otros editores pesados ​​pueden estropear las claves. También puede eliminar la entrada del host remoto del archivoknown_hosts. Recuerdo haber tenido que hacer eso una vez por algo.

Respuesta2

Asegúrese de verificar /var/log/auth.logcomo se indica en el comentario. Casi siempre encontrarás tu respuesta allí.

Tengo estos permisos configurados para mis servidores y localmente:

Servidor

drwx------ remoteuser group ~/.ssh
-rw------- remoteuser group ~/.ssh/authorized_keys

En la zona

drwx------ user group ~/.ssh
-rw------- user group ~/.ssh/id_rsa
-rw----r-- user group ~/.ssh/id_rsa.pub

información relacionada