Esta breve guía lo guiará a través de los pasos para permitir o denegar el acceso SSH a un usuario o grupo en particular en los sistemas operativos Linux y Unix.
Introducción
Hace un tiempo, discutimos cómo limitar el acceso de un usuario al sistema Linux usando el shell restringido . Una vez que hemos puesto a los usuarios en modo restringido, no pueden hacer nada excepto lo que tienen permitido hacer.
Será útil cuando desee permitir que un usuario en particular ejecute solo un conjunto específico de comandos.
En este artículo, habilitaremos o deshabilitaremos el acceso SSH para un usuario o grupo realizando algunos cambios en el archivo de configuración predeterminado de SSH.
Permitir o denegar el acceso SSH a un usuario o grupo en particular en Linux
El archivo de configuración predeterminado de openSSH tiene dos directivas para permitir y denegar el acceso SSH a un usuario o grupo en particular.
Primero, veamos cómo permitir o habilitar el acceso SSH a un usuario y grupo. Tenga en cuenta que todos los comandos dados a continuación deben ejecutarse como root
o sudo
usuario.
1. Permitir acceso SSH a un usuario o grupo
Para permitir el acceso SSH a un usuario en particular, por ejemplo, sk , edite sshd_config
archivo:
$ sudo vi /etc/ssh/sshd_config
Presiona "i" para entrar en modo insertar y añadir o modificar la siguiente línea:
AllowUsers sk
Edite el archivo de configuración de ssh para permitir el acceso de ssh a un usuario en particular
Reemplace "sk" con su nombre de usuario. Tenga en cuenta la sangría espacial entre "PermitirUsuarios" y "sk". Deberías usar Tab en lugar de barra espaciadora . Significado:agregue la palabra "Permitir usuarios" y presione la tecla Tabulador y luego especifique el nombre de usuario.
También puede especificar más de un usuario como se muestra a continuación.
AllowUsers user1 user2
Para permitir un grupo completo, diga por ejemplo root
, agregue/edite la siguiente línea:
AllowGroups root
Esta configuración permitirá que todos los miembros de "root"
grupo para ssh al servidor Linux.
Presiona ESC
tecla para salir del modo de inserción y escriba :wq
para guardar y salir del archivo de configuración de SSH. Reinicie el servicio SSH para aplicar los cambios.
$ sudo systemctl restart sshd
Ahora, el usuario sk y todos los miembros de la "root"
El grupo puede conectarse a través de SSH a su servidor Linux. Los otros usuarios (excepto sk y miembros de "root"
grupo) no pueden acceder al sistema a través de ssh.
Para verificarlo, intente acceder al servidor Linux como cualquiera de los usuarios no permitidos:
$ ssh [email protected]
Recibirá el siguiente mensaje de error:
[email protected]'s password: Permission denied, please try again.
Permiso de acceso SSH denegado
2. Denegar el acceso SSH a un usuario o grupo
Para deshabilitar o denegar el acceso SSH a un usuario o grupo, debe agregar/modificar las siguientes directivas en el sshd_config
de su servidor remoto archivo.
- Denegar usuarios
- Denegar grupos
Para denegar el acceso SSH a un usuario específico llamado "sk", edite sshd_config
archivo:
$ sudo vi /etc/ssh/sshd_config
Agregue/edite la siguiente línea en el archivo sshd_config.
DenyUsers sk
Asegúrese de que la sangría del espacio sea correcta. No utilice la barra espaciadora. Presiona la tecla Tabulador y agrega el nombre de usuario.
Del mismo modo, para denegar el acceso SSH a varios usuarios, especifique los nombres de usuario separados por espacios, como se muestra a continuación.
DenyUsers user1 user2
Del mismo modo, para denegar el acceso SSH a un grupo completo, por ejemplo, root
, añade:
DenyGroups root
Guarde y salga del archivo de configuración ssh. Reinicie el servicio ssh para aplicar los cambios.
$ sudo systemctl restart sshd
Ahora intente conectarse a su máquina Linux desde una cuenta de usuario bloqueada, por ejemplo, sk:
$ ssh [email protected]
Recibirá el siguiente mensaje:
[email protected]'s password: Permission denied, please try again. [email protected]'s password:
3. Deshabilitar el inicio de sesión SSH Root
El acceso root ssh se considera una mala práctica en términos de seguridad . Por lo tanto, se recomienda enfáticamente deshabilitar el inicio de sesión del usuario SSH Root para proteger su sistema.
Para deshabilitar el inicio de sesión de root ssh, edite sshd_config
archivo:
$ sudo vi /etc/ssh/sshd_config
Busque la siguiente línea, elimínela y establezca el valor en no
.
PermitRootLogin no
Reinicie el servicio SSH para que los cambios surtan efecto inmediatamente:
$ sudo systemctl restart sshd
Conclusión
Ahora sabe cómo otorgar y restringir el acceso SSH a ciertos usuarios o grupos en Linux. También aprendió cómo denegar o deshabilitar el inicio de sesión raíz SSH en Linux. Es una de las prácticas de seguridad recomendadas que todo administrador de Linux debe implementar al configurar un servidor Linux.
Lectura relacionada:
- Deshabilitar la autenticación de contraseña SSH para un usuario o grupo específico
- Limite el número de inicios de sesión SSH por usuario/grupo/sistema
- Cómo usar SSH en un directorio particular en Linux