GNU/Linux >> Tutoriales Linux >  >> Linux

¿Ssh y permisos de directorio de inicio?

Me tomó horas resolver este problema de SSH con una de las cuentas de mi clase en los servidores de mi escuela.

No podía ingresar a una cuenta de clase en particular sin ingresar mi contraseña, mientras que la autenticación sin contraseña funcionó con mis otras cuentas de clase. El directorio .ssh/ y todo su contenido tenían los mismos permisos correctos que las otras cuentas de clase.

Resulta que el problema eran los permisos establecidos en mi propio directorio de inicio. La autenticación sin contraseña no funcionó cuando los permisos en mi directorio HOME se establecieron en 770 (independientemente de los permisos establecidos para .ssh/), pero funcionó con los permisos establecidos en 755 o 700.

¿Alguien sabe por qué SSH hace esto? ¿Es porque los permisos del directorio de inicio son demasiado permisivos? ¿Por qué SSH se niega a autenticarse con las claves pública/privada cuando el directorio de inicio está configurado para ser más permisivo que 700?

Respuesta aceptada:

Este es el comportamiento predeterminado para SSH. Protege las claves de usuario al hacer cumplir rwx------ en $HOME/.ssh y asegurarse de que solo el propietario tenga permisos de escritura para $HOME . Si un usuario que no sea el propietario respectivo tiene permiso de escritura en $HOME directorio, podrían modificar malintencionadamente los permisos en $HOME/.ssh , secuestrando potencialmente las claves de usuario, known_hosts , o algo similar. En resumen, los siguientes permisos en $HOME será suficiente para que SSH funcione.

  • rwx------
  • rwxr-x---
  • rwxr-xr-x

SSH no funcionará correctamente y enviará advertencias a las instalaciones de registro si hay alguna variación de g+w o o+w existe en el $HOME directorio. Sin embargo, el administrador puede anular este comportamiento definiendo StrictModes no en el sshd_config (o similar) archivo de configuración, aunque debe quedar claro que esto no se recomienda .


Linux
  1. Cómo administrar permisos/propiedades de archivos y directorios en Linux

  2. Buscar y cambiar el nombre de un directorio

  3. ¿Cuáles deberían ser los permisos de directorio de inicio ideales en Linux?

  4. ¿Cómo puedo automatizar la limpieza y el restablecimiento del directorio de inicio de un usuario de Linux a un valor predeterminado?

  5. Permisos de escritura de usuario SFTP chrooted

Autenticación SSH de Ansible y escalada de privilegios

Tunelización y proxy SSH

Permisos básicos de directorio de Linux y cómo verificarlos

Administre directorios y permisos de archivos con chmod Recursive

Tabla de permisos para un archivo/directorio y tipos de usuarios del sistema de archivos

directorio de inicio y shell para usuarios autenticados de Active Directory