GNU/Linux >> Tutoriales Linux >  >> Linux

Limite el número de inicios de sesión SSH por usuario/grupo/sistema

Como probablemente sepa, podemos usar SSH en un sistema Linux remoto por el mismo usuario varias veces. ¡No hay límite! Simplemente puede abrir varias ventanas de Terminal (o varias pestañas en la Terminal) e iniciar varias sesiones SSH desde cada pestaña con la misma cuenta de usuario. ¿Qué pasa si quieres cambiar este comportamiento? Por ejemplo, es posible que desee permitir solo una sesión SSH activa para un usuario. Eso es lo que vamos a ver ahora. Este breve tutorial explica cómo limitar la cantidad de inicios de sesión SSH por usuario, grupo o sistema en Linux.

En la mayoría de las distribuciones de Linux, hay un archivo llamado limits.conf donde puede definir el número máximo de sesiones SSH simultáneas para un usuario o grupo de usuarios. Si el usuario en particular intenta SSH en el sistema más de los inicios de sesión SSH permitidos, se le negará el acceso.

Limite el número de inicios de sesión SSH por usuario o grupo en Linux

El límites.conf el archivo generalmente se encuentra en /etc/security/ directorio en sistemas basados ​​en RPM y DEB.

Vaya a su sistema remoto y edite /etc/security/limits.conf archivo con sudo o raíz usuario:

$ sudo nano /etc/security/limits.conf

Para limitar el número de sesiones SSH simultáneas para un usuario específico , por ejemplo ostechnix , Agregue la siguiente línea al final:

ostechnix	hard	maxlogins	1

Aquí,

  • ostécnica - Nombre del usuario en mi servidor CentOS 8.
  • inicios de sesión máximos 1 - Número máximo de inicios de sesión para este usuario. En mi caso es 1 . Puede aumentar este valor para permitir el número máximo. de sesiones SSH activas por usuario.
  • duro - Hacer cumplir límites estrictos.

Si desea limitar el número de conexiones SSH para un grupo de usuarios , agrega esto:

@mygroup	hard    maxlogins	1

Reemplazar @migrupo con el nombre de tu grupo. En este escenario, todos los usuarios de mygroup no pueden iniciar sesión a través de SSH más de una vez.

Si desea limitar las sesiones SSH de todos los usuarios (globales) en el sistema, agregue esta línea en su lugar:

*	hard    maxlogins	1

Aquí, el asterisco significa global (es decir, todos los usuarios en el sistema). Una vez que haya definido el número máximo de sesiones SSH por usuario/grupo o todo el sistema, guarde y cierre el archivo.

Ahora intente conectar SSH al sistema con el mismo usuario más de una vez. Verá un mensaje de error como el siguiente.

Too many logins for 'ostechnix'.
Last login: Tue Feb 18 17:12:09 2020 from 192.168.225.37
Connection to 192.168.225.52 closed.

Como puede ver en el resultado anterior;

  1. Primero, me SSH en el servidor CentOS 8 remoto como usuario raíz a través de SSH y la conexión se estableció correctamente.
  2. Luego, abrí una nueva pestaña y SSH en el mismo servidor que el usuario normal "ostechnix" y la conexión fue exitosa.
  3. Finalmente, traté de SSH en el mismo servidor con el mismo usuario (es decir, ostechnix) y esta vez la conexión fue denegada. El usuario "ostechnix" no puede ingresar al sistema mediante SSH más de una vez . Porque su número máximo de sesiones SSH permitidas para este usuario es solo una tiempo. Por lo tanto, se deniega la conexión SSH para este usuario.

En este ejemplo, restringimos la cantidad total de sesiones SSH activas para un usuario o grupo o para todos los usuarios del sistema. También es posible limitar las sesiones SSH por sistema. Por ejemplo, podemos permitir solo un inicio de sesión SSH desde un sistema, no por usuario o grupo.

Limitar el número total de sesiones SSH por sistema

Para limitar el número total de conexiones SSH activas por sistema, agregue la siguiente línea en /etc/security/limits.conf archivo:

*       hard    maxsyslogins    1

Aquí, maxsyslogins se refiere al número máximo de inicios de sesión en el sistema, no por usuario o por grupo.

Intente ingresar al sistema mediante SSH y no podrá acceder al sistema más que el número máximo de inicios de sesión permitidos en el sistema.

¿Ver? El usuario "ostechnix" ni siquiera puede usar SSH por primera vez. Porque el número total de inicios de sesión SSH permitidos es solo uno para el sistema. En esta ocasión también se ha tenido en cuenta la conexión SSH realizada por el usuario root. Por lo tanto, el número máximo de inicios de sesión de SSH superó el límite definido y se denegó el acceso al usuario "ostechnix". Espero que lo entiendas.

Tenga en cuenta que esta restricción se aplica solo a los usuarios normales. El usuario raíz aún puede iniciar sesión a través de SSH cualquier cantidad de veces.

Lectura relacionada:

  • Permitir o denegar el acceso SSH a un usuario o grupo en particular en Linux
  • Restringir el acceso a servidores Linux mediante contenedores TCP
  • Ejecutar comandos en sistemas Linux remotos a través de SSH
  • Cómo crear un alias SSH en Linux
  • Cómo usar SSH en un directorio particular en Linux

Linux
  1. Consejo rápido:agregue un usuario al grupo sudoers

  2. Ssh:¿restringir un usuario de Ssh/scp/sftp a un directorio?

  3. ¿Cuál es la diferencia entre un usuario normal y un usuario del sistema?

  4. Cambiar el número de puerto del servidor SSH predeterminado

  5. ¿Cómo hacer que ssh inicie sesión como el usuario correcto?

Cómo limitar el acceso del usuario al sistema Linux

Deshabilitar la autenticación de contraseña SSH para un usuario o grupo específico

Cómo permitir o denegar el acceso SSH a un usuario o grupo en particular en Linux

Los efectos de agregar usuarios a un sistema Linux

¿Cómo deshabilitar el inicio de sesión SSH para el usuario raíz en Linux?

Cientos de inicios de sesión ssh fallidos