Cómo establecer los permisos correctos de directorio SSH en Linux

Cómo establecer los permisos correctos de directorio SSH en Linux

Para que SSH funcione bien, requiere permisos correctos en el ~/.ssh o /Inicio/nombre de usuario/.ssh Directorio: la ubicación predeterminada para todos los archivos de configuración y autenticación de SSH específicos del usuario. Los permisos recomendados son leer/escribir/ejecutar para el usuario, y no debe ser accesible por grupo y otros.

Además, ssh también requiere que los archivos dentro del directorio tengan leer escribir permisos para el usuario, y no ser accesibles por otros. De lo contrario, un usuario puede encontrar el siguiente error:

Autenticación rechazada: mala propiedad o modos para directorio 

Esta guía explica cómo establecer los permisos correctos en el .ssh El directorio y los archivos almacenados en él, en sistemas Linux.

Establezca permisos correctos de directorio SSH en Linux

Si alguna vez encuentra el error anterior, puede establecer los permisos de directorio SSH correctos en el .ssh directorio utilizando el chmod dominio.

# chmod u+rwx, go-rwx ~/.ssh o # chmod 0700 ~/.ssh 

Para verificar los permisos en el ~/.ssh directorio, use el comando ls con el -l y -d banderas, como así:

# ls -ld .ssh/ 
Verifique los permisos en el directorio SSH

Los siguientes son algunos de los archivos que encontrará en el ~/.ssh directorio:

  • archivo de clave privada (mi.gramo ID_RSA) - La clave privada para la autenticación, que contiene información altamente confidencial, por lo tanto, debe tener permisos de lectura y escritura para el propietario y no ser accesible por grupo y otros, de lo contrario, SSH se negará a conectarse.
  • Llave pública (mi.gramo .archivo de pub) - La clave pública para la autenticación, que también contiene información confidencial, por lo tanto, debe tener permisos de lectura y escritura para el propietario, permiso de solo lectura por grupo y otros.
  • autorizado_keys - Contiene la lista de las claves públicas que se pueden usar para iniciar sesión como este usuario. No es altamente sensible, pero debe haber leído y escribiendo permisos para el propietario y no ser accesible por el grupo y otros.
  • conocido_hosts - almacena una lista de claves de host para todos los hosts en el que el usuario de SSH ha iniciado sesión. Debería haber leído y permisos de escritura para el propietario y no ser accesible para grupos y otros.
  • configuración - un archivo de configuración por usuario y debe tener permisos de lectura y escritura para el propietario y no debe ser accesible por grupo y otros.

Por defecto, los archivos debajo del ~/.ssh El directorio se crea con el conjunto de permisos correctos. Para verificar sus permisos, ejecute el siguiente comando dentro de su directorio de inicio:

# ls -l .ssh/ 
Verifique los permisos de archivos en el directorio SSH

Si SSH se queja de permisos incorrectos en cualquiera de los archivos anteriores, puede establecer los permisos correctos para cualquiera de los archivos como este:

# chmod u+rw, go-rwx .ssh/id_rsa # chmod u+rw, go-rwx .ssh/id_rsa.pub # chmod u+rw, go-rwx .ssh/autorized_keys # chmod u+rw, go-rwx .ssh/conocido_hosts # chmod u+rw, go-rwx .ssh/config o # chmod 600 .ssh/id_rsa # chmod 600 .ssh/id_rsa.pub # chmod 600 .ssh/autorized_keys # chmod 600 .ssh/conocido_hosts # chmod 600 .ssh/config 

Además, el Directorio de inicio de un usuario no debe ser escrito por el grupo u otros, como se muestra en la siguiente captura de pantalla.

# ls -ld ~ 
Verifique los permisos en el directorio de usuario

Para eliminar los permisos de escritura para el grupo y otros en el directorio de inicio, ejecute este comando:

# chmod go-w ~ o # chmod 755 ~ 

También le gustaría leer los siguientes artículos relacionados con SSH:

  • Cómo asegurar y endurecer el servidor OpenSsh
  • 5 mejores prácticas de seguridad del servidor OpenSsh
  • Cómo configurar el inicio de sesión sin contraseña SSH en Linux [3 sencillos pasos]
  • Cómo bloquear los ataques de fuerza bruta SSH usando sshguard
  • Cómo usar Port Knocking para asegurar el servicio SSH en Linux
  • Cómo cambiar el puerto SSH en Linux

Eso es todo por ahora! Use la sección de comentarios a continuación para hacer preguntas o agregar sus pensamientos a este tema.