Pregunta :¿Cómo podemos restringir el acceso de usuarios/grupos a un sistema usando ssh?
SSH usa archivos específicos para la configuración para lograr estas diversas restricciones. Las sesiones ssh entrantes (en el host) son manejadas por sshd (el demonio ssh). Este proceso tiene su propio archivo de configuración, /etc/ssh/sshd_config . Los parámetros en el archivo /etc/ssh/sshd_config que se aplican son AllowGroups , Permitir usuarios , Denegar grupos y Denegar usuarios . Si se establecen estos parámetros, afectará a todos los usuarios de todos los hosts.
Para restringir grupos, la opción AllowGroups y Denegar grupos Son útiles. Dichas opciones permitirán o rechazarán a los usuarios cuyo grupo principal o grupo complementario coincida con uno de los patrones de grupo.
Ejemplo
1. Para permitir que las conexiones SSH desde cualquier lugar accedan a las cuentas de mary y jerry, pero no a otras cuentas::
# vi /etc/ssh/sshd_config AllowUsers mary jerry
2. Para permitir conexiones SSH desde s01.geeklab.com a la cuenta de john, pero no otras conexiones SSH entrantes:
AllowUsers [email protected]
3. Para denegar la conexión SSH desde cualquier lugar a todos los usuarios de 'finanzas':
DenyGroups finance
Ver intentos fallidos de inicio de sesión
Siempre puede revisar los registros de inicio de sesión en cualquier momento escribiendo:
# cat /var/log/secure | grep 'sshd'
La salida de la cual se verá así:
May 3 13:57:24 centos7 sshd[2479]: pam_unix(sshd:session): session closed for user root May 3 13:57:28 centos7 sshd[3313]: Accepted password for root from 192.168.1.17 port 51093 ssh2 May 3 13:57:28 centos7 sshd[3313]: pam_unix(sshd:session): session opened for user root by (uid=0)
Y, si desea ver una lista de intentos fallidos, puede intentar lo siguiente:
# cat /var/log/secure | grep 'sshd.*Failed'
Los intentos de inicio de sesión aceptados se pueden ver con:
# cat /var/log/secure | grep 'sshd.*Accepted'