Número de conexiones SSH en una sola máquina Linux

14

Llegué a una situación en la que tenía que acceder a una máquina Linux a través de puTTY. Hice varios intentos de SSH pero no pude conectarme a la máquina. Luego me di cuenta de que mi colega estaba accediendo a la misma máquina Linux como usuario root, y yo también quería acceder como usuario root. Le pedí que se desconectara para poder iniciar sesión como root. ¿Hay alguna forma de limitar el número de inicio de sesión SSH en un sistema operativo Linux? ¿Es este un tipo de característica de seguridad que distingue un sistema operativo basado en Windows con un sistema operativo basado en Linux?

turmoilawaits
fuente
1
¿Estás diciendo que podrías iniciar sesión como root una vez que él haya cerrado sesión? ¿Y quieres saber cómo o dónde se puede establecer este límite?
Matt
sí, puedo iniciar sesión como root una vez que se desconectó
turmoilawaits

Respuestas:

8

Sí, es posible limitar el número de sesiones de inicio de sesión simultáneas, aunque la mayoría de las distribuciones de Linux no imponen dichos límites en su configuración predeterminada.

Linux es un sistema multiusuario adecuado por diseño y normalmente no debería tener ningún problema con tener múltiples sesiones SSH simultáneas para el mismo usuario.

El servidor SSH puede imponer dichos límites con la MaxSessionsopción en el archivo de configuración. A través de PAM puede imponer dichos límites y otros ya lo han señalado.

HBruijn
fuente
Estoy usando Cent OS 6.4. ¿Limita las sesiones simultáneas de SSH?
turmoilawaits
No por defecto.
HBruijn
7

Probablemente tengas límites establecidos /etc/security/limits.confasí

root hard maxlogins 1

Cambie el límite (1) a algo más alto si es necesario.

Mate
fuente
Esta configuración no afecta los inicios de sesión SSH simultáneos en Centos6
bbaassssiiee
Este es un límite que PAM buscaría. Si permite el inicio de sesión de root a través de claves ssh, entonces ...
Matt
2

Intentar convencer a un sshddemonio independiente para que limite el número de sesiones está lleno de lagunas. Cosas como MaxSessionslimitar algo diferente de lo que está hablando el OP. E sshdignora limits.confen Linux (de manera similar login.confen FreeBSD) a menos que configure las cosas correctamente para enrutar todas las sesiones entrantes a través de PAM y utilice primero el módulo PAM configurado adecuadamente para verificar cosas como limits.conf primero. Es difícil hacer que funcione bien.

Por otro lado, si no comienzas sshdcomo un demonio independiente, entonces puedes usar las características limitantes en la "cosa" que se genera sshdbajo demanda.

Por ejemplo, inetdy xinetdtiene una función de limitación de la conexión (que por defecto suele no imponer ningún límite al número de hijos bifurcados). En el clásico inetd, se llama "max-child". Con xinetd, busque la instancesperilla de configuración. Por ejemplo, inetdestilo:

ssh  stream  tcp  nowait/3  root  /usr/sbin/sshd  sshd -i -4

Eso limita el número de conexiones ssh concurrentes a 3.

Para aquellos que están tan inclinados, systemdpueden reemplazar la función de inetd, y creo que hay una manera de limitar el número de instancias de un servicio. Ejercicio dejado al lector (¡o agregue un comentario con los detalles!).

Juan
fuente