Autenticación por llaves en CentOS

Tuve algo de problemas usando autenticación por llaves (RSA en mi caso) en un servidor CentOS.

Había seguido el mismo procedimiento que hago siempre:configurar el servidor ssh, generar llave pública del cliente (bueno, esa ya la tenía), copiarla al servidor y almacenarla en .ssh/authorized_keys. Pero parecía no funcionar, ssh devolvía esto:

debug1: Offering public key: /home/santiago/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Trying private key: /home/santiago/.ssh/identity
debug3: no such identity: /home/santiago/.ssh/identity
debug1: Trying private key: /home/santiago/.ssh/id_dsa
debug3: no such identity: /home/santiago/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
….

La solución fue bastante simple (cuando la conoces, claro). El directorio ~/.ssh no debe tener permisos de escritura para el grupo. Muchas personas (como yo) no sabían esto porque muchas distribuciones crean por defecto el directorio, CentOS en cambio no, así que al crearlo se uso el umask por defecto dando como resultado permisos 775 en el directorio. Así que solo falta hacer:

chmod -R 700 ~/.ssh

Listo, la autenticación por llaves debería funcionar.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s