GNU/Linux >> Tutoriales Linux >  >> Linux

CentOS/RHEL:Cómo deshabilitar ssh para usuarios no root (permitiendo ssh solo para usuarios root)

De manera predeterminada, todos los usuarios pueden ingresar a un sistema SSH con una contraseña/clave pública válida. Para determinados Servidores dedicados con funciones específicas, como Servidor FTP, Servidor de correo electrónico, etc.; Por lo general, se recomienda deshabilitar a los usuarios no root para iniciar sesión a través de SSH. La publicación detalla los pasos para deshabilitar el acceso de inicio de sesión ssh del usuario no root a los sistemas. Hay 3 formas diferentes discutidas aquí. Cualquiera de las tres formas a continuación podría lograr el propósito.

Método 1:usar el archivo /etc/ssh/sshd_config

Este método se puede utilizar para permitir que algunos usuarios inicien sesión mediante SSH. Edite el archivo /etc/ssh/sshd_config (archivo de configuración del demonio OpenSSH SSH) y agregue la palabra clave AllowUsers con argumento raíz .

# vi /etc/ssh/sshd_config
AllowUsers root
Nota :las palabras clave no distinguen entre mayúsculas y minúsculas y los argumentos también distinguen entre mayúsculas y minúsculas.

Ahora reinicie el servicio sshd:

# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

Verifique que los usuarios no root no puedan iniciar sesión a través de SSH, pero el usuario root sí.

# ssh test@host1
test@host1's password: 
Permission denied, please try again.
test@host1's password: 
Permission denied, please try again.
test@host1's password: 
Permission denied (publickey,gssapi-with-mic,password).
# ssh root@host1
root@host1's password: 
Last login: Wed Sep 13 10:47:14 2017 from 10.10.10.10
[root@host1 ~]#

Método 2:usar el archivo /etc/nologin

Esta es la forma más rápida de bloquear a todos los usuarios no root del inicio de sesión SSH.

1. Cree un archivo /etc/nologin en el host remoto.

# touch /etc/nologin
# ls -lrt /etc/nologin
-rw-r--r-- 1 root root 0 Sep 13 13:23 /etc/nologin
Nota :si este archivo existe, solo el usuario raíz puede iniciar sesión en el sistema a través de SSH. Si el archivo /etc/nologin.txt existe, nologin muestra su contenido al usuario en lugar del mensaje predeterminado.

Asegúrese de que la siguiente línea esté en el archivo /etc/pam.d/sshd :

account    required     pam_nologin.so
Note: backup the file /etc/pam.d/sshd before modifying it.

Luego reinicie el servicio sshd:

# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

Verifique el inicio de sesión SSH del usuario no root:

# ssh test@host1
test@host1's password: 
Connection closed by 192.168.10.10

Método 3:usar el archivo /etc/sshd/sshd.allow

El archivo /etc/sshd/sshd.allow se utiliza para especificar la lista de usuarios a los que queremos dar acceso ssh. Si solo mencionamos el usuario root en este archivo, a todos los demás usuarios se les negará el acceso ssh al host.

1. Agregue el usuario raíz al archivo /etc/sshd/sshd.allow (si el directorio/archivo no existe, créelo manualmente).

# cat /etc/sshd/sshd.allow 
root

2. Reemplace la línea de autenticación como se muestra a continuación en el archivo /etc/pam.d/sshd :

auth required pam_listfile.so item=user sense=allow file=/etc/sshd/sshd.allow onerr=fail

Aquí,
se requiere autenticación pam_listfile.so :Nombre del módulo requerido al autenticar a los usuarios.
item=user :Comprobar el nombre de usuario del elemento.
sense=allow :Permitir usuario.
file=/etc/sshd/sshd.allow :Archivo de lista de usuarios.
onerr=fail :Si el nombre de usuario no está en el archivo, no permitirá iniciar sesión.

3. Reinicie el servicio sshd una vez que haya terminado con todos los cambios anteriores.

# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

4. Verifique el inicio de sesión SSH del usuario no root:

# ssh test@host1
test@host1's password: 
Permission denied, please try again.
test@host1's password: 
Permission denied, please try again.
test@host1's password: 
Permission denied (publickey,gssapi-with-mic,password).

También verifique si puede usar ssh con el usuario root:

# ssh root@host1
ssh root@host1's password: 
Last login: Wed Sep 13 14:53:47 2017 from 10.10.10.10
[root@host1 ~]#


Linux
  1. CentOS/RHEL 7:Cómo deshabilitar IPv6 solo en una interfaz específica

  2. CentOS / RHEL:Cómo reducir el sistema de archivos raíz LVM

  3. CentOS/RHEL 6:Cómo deshabilitar/habilitar el inicio de sesión raíz directo a través de telnet

  4. CentOS/RHEL:Cómo deshabilitar/habilitar el inicio de sesión ssh de usuario root y no root directo

  5. CentOS / RHEL:cómo deshabilitar el inicio de sesión raíz o el acceso raíz en un sistema

Cómo crear un usuario SFTP para una raíz de documentos del servidor web

Cómo deshabilitar el acceso SSH raíz en CentOS 7

Cómo configurar SSH en CentOS y RHEL

Cómo limitar el usuario root en CentOS

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

Cómo deshabilitar la lista de usuarios en la pantalla de inicio de sesión de GNOME en CentOS/RHEL 8