34 votos

autenticación de clave pública falla sólo cuando sshd daemon

No tengo ni idea de cómo sucede esto. La distro es Scientific Linux 6.1 y todo está listo para realizar la autenticación mediante clave pública. Sin embargo, cuando sshd se ejecuta como un demonio (servicio sshd start), que no acepta las claves públicas. (Para obtener esta pieza de registro, he cambiado el sshd secuencia de comandos para agregar el-ddd opción)

debug1: trying public key file /root/.ssh/authorized_keys
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 0/0 (e=0/0)
debug1: trying public key file /root/.ssh/authorized_keys2
debug1: restore_uid: 0/0
Failed publickey for root from xxx.xxx.xxx.xxx port xxxxx ssh2
debug3: mm_answer_keyallowed: key 0x7f266e1a8840 is not allowed
debug3: mm_request_send entering: type 22
debug3: mm_request_receive entering
debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa
debug3: Wrote 64 bytes for a total of 1853
debug1: userauth-request for user root service ssh-connection method publickey
debug1: attempt 2 failures 1

Si sshd se ejecuta en modo de depuración /usr/sbin/sshd -ddd, la autenticación funciona como un encanto:

debug1: trying public key file /root/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK
debug1: matching key found: file /root/.ssh/authorized_keys, line 1
Found matching RSA key: d7:3a:08:39:f7:28:dc:ea:f3:71:7c:23:92:02:02:d8
debug1: restore_uid: 0/0
debug3: mm_answer_keyallowed: key 0x7f85527ef230 is allowed
debug3: mm_request_send entering: type 22
debug3: mm_request_receive entering
debug3: Wrote 320 bytes for a total of 2109
debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa
Postponed publickey for root from xxx.xxx.xxx.xxx port xxxxx ssh2
debug1: userauth-request for user root service ssh-connection method publickey
debug1: attempt 2 failures 0

Alguna idea?? Nadie ha visto nada como esto?

Notas:

Los permisos de archivo se han registrado el doble:

# ll -d .ssh
drwx------. 2 root root 4096 Oct 14 10:05 .ssh
# ll .ssh
total 16
-rw-------. 1 root root  786 Oct 14 09:35 authorized_keys
-rw-------. 1 root root 1675 Oct 13 08:24 id_rsa
-rw-r--r--. 1 root root  393 Oct 13 08:24 id_rsa.pub
-rw-r--r--. 1 root root  448 Oct 13 12:51 known_hosts

Me preguntó si sshd puede acceder a root de los archivos en "modo de demonio". La respuesta más cercana que puedo llegar a esta pregunta es:

# netstat -ntap | grep 22
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      19847/sshd 
# ps -ef | grep 19847
root     19847     1  0 09:58 ?        00:00:00 /usr/sbin/sshd

Si sshd se ejecuta como root, no sé cómo no es posible acceder a sus propios archivos. Podría SELinux ser la causa?

44voto

Mark Wagner Puntos 11107

Sí, SELinux es probable que la causa. El .ssh dir es probablemente parear. Mira /var/log/audit/audit.log . Debiera ser catalogada como ssh_home_t . Consulte con ls -laZ . Ejecutar restorecon -r -vv /root/.ssh si fuera necesario.

0voto

Johan Nilsson Puntos 328

Parece que utiliza claves distintas al probar las conexiones, 0x7f266e1a8840 vs 0x7f85527ef230. Intente conectarlo mediante ' ssh - v ejemplo.com ' a sshd funcionando como un demonio y en modo de depuración y buscar las claves utilizadas por ssh en la cadena "Ofreciendo clave pública RSA".

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: