Como no se ha mencionado explícitamente, sshd es por defecto muy estricto en los permisos para los authorized_keys
archivos. Por lo tanto, si authorized_keys
se puede escribir para alguien que no sea el usuario o si alguien que no sea el usuario puede hacerlo, se negará a autenticarse (a menos que sshd esté configurado con StrictModes no
)
Lo que quiero decir con "se puede hacer que se pueda escribir" es que si alguno de los directorios principales es escribible para otra persona que no sea el usuario, los usuarios autorizados a modificar esos directorios pueden comenzar a modificar los permisos de tal manera que puedan modificar / reemplazar claves autorizadas.
Además, si el /home/username/.ssh
directorio no es propiedad del usuario y, por lo tanto, el usuario no tiene permisos para leer la clave, puede tener problemas:
drwxr-xr-x 7 jane jane 4096 Jan 22 02:10 /home/jane
drwx------ 2 root root 4096 Jan 22 03:28 /home/jane/.ssh
Tenga en cuenta que jane no posee el .ssh
archivo. Solucione esto a través de
chown -R jane:jane /home/jane/.ssh
Este tipo de problemas de permisos del sistema de archivos no se mostrarán ssh -v
y ni siquiera se mostrarán en los registros sshd (!) Hasta que establezca el nivel de registro en DEBUG.
- Editar
/etc/ssh/sshd_config
. Quieres una línea que se lea LogLevel DEBUG
allí en alguna parte. Vuelva a cargar el servidor SSH utilizando el mecanismo proporcionado por la distribución. ( service sshd reload
en RHEL / CentOS / Scientific.) Una recarga elegante no eliminará las sesiones existentes.
- Intenta autenticarte de nuevo.
- Averigüe dónde van los registros de su instalación de autenticación y léalos. (IIRC,
/var/log/auth.log
en distribuciones basadas en Debian; /var/log/secure
en RHEL / CentOS / Scientific.)
Es mucho más fácil averiguar qué está mal con la salida de depuración que incluye errores de permisos del sistema de archivos. ¡Recuerde revertir el cambio /etc/ssh/sshd_config
cuando haya terminado!