GNU/Linux >> Tutoriales Linux >  >> Linux

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

Esta guía explica cómo deshabilitar la autenticación de contraseña SSH para un usuario o grupo específico en los sistemas operativos Linux y Unix.

Tenga en cuenta que no vamos a deshabilitar por completo el acceso SSH a los usuarios o un grupo. En su lugar, solo deshabilitaremos la autenticación de contraseña SSH.

Los usuarios aún pueden acceder a los sistemas a través de SSH utilizando otros métodos de autenticación, por ejemplo, la autenticación basada en claves SSH.

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

Podemos permitir o denegar el acceso SSH para usuarios y/o un grupo completo usando "/etc/ssh/sshd_config" archivo en Linux. El archivo sshd_config tiene un parámetro llamado "Coincidencia" que lo ayudará a deshabilitar la autenticación de contraseña SSH para usuarios o grupos.

Veamos primero cómo deshabilitar la autenticación de contraseña para un usuario específico.

Edite el archivo "/etc/ssh/sshd_config" usando su editor favorito como usuario root o sudo:

$ sudo nano /etc/ssh/sshd_config

Primero, elimine el método de autenticación predeterminado comentando la siguiente línea:

#PasswordAuthentication yes

A continuación, agregue las siguientes líneas al final:

[...]
Match User senthil
    PasswordAuthentication no

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

Tenga en cuenta que Match es efectivo "hasta otra línea de Match o hasta el final del archivo". Si una palabra clave aparece en varios bloques de coincidencia que se cumplen, solo se aplica la primera instancia de la palabra clave.

Según el ejemplo anterior, hemos deshabilitado la autenticación de contraseña SSH para el usuario llamado "senthil". Reemplace "senthil" con su propio nombre de usuario. Guarde y cierre el archivo. Reinicie el servicio ssh para que surtan efecto los cambios:

$ sudo systemctl restart ssh

Ahora intente iniciar sesión como usuario "senthil" a través de SSH:

$ ssh [email protected]

Verá el siguiente mensaje de error:

[email protected]: Permission denied (publickey).

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

Deshabilitar la autenticación de contraseña SSH para un grupo

Para deshabilitar la autenticación de contraseña SSH para un grupo específico, simplemente reemplace el nombre de usuario con el nombre del grupo en el archivo sshd_config.

Match Group mygroup
    PasswordAuthentication no

Reemplace "mygroup" en la configuración anterior con su propio nombre de grupo.

No olvide reiniciar el servicio ssh para aplicar los cambios.

Deshabilitar la autenticación de contraseña SSH para varios usuarios

Puede denegar la autenticación de contraseña SSH para varios usuarios mencionando los nombres de usuario separados por comas como se muestra a continuación:

Match User senthil,kumar
    PasswordAuthentication no

La configuración del ejemplo anterior evitará la autenticación de contraseña SSH para los usuarios "senthil" y "kumar".

Deshabilitar la autenticación de contraseña SSH para todos los usuarios excepto el usuario root

En algunos sistemas Linux, es posible que desee permitir la autenticación de contraseña SSH solo para el usuario "raíz" y deshabilitarla para todos los demás usuarios. Si es así, agregue la siguiente línea en el archivo sshd_config al final:

Match User !root
    PasswordAuthentication no

Restringir la autenticación de contraseña SSH por host o dirección IP

No solo por usuario o grupo, también podemos denegar la autenticación de contraseña SSH por host o dirección IP.

Por ejemplo, el siguiente ejemplo evitará el acceso SSH desde un host que contenga la dirección IP:

Match Address 192.168.225.37
       PasswordAuthentication no

Para limitar la autenticación de contraseña SSH para un rango específico de direcciones IP, agregue esto:

Match Address 192.168.225.*
      PasswordAuthentication no

Y este ejemplo denegará el acceso SSH usando una contraseña de un host que contenga el nombre de host:

Match Address hostname
       PasswordAuthentication no

Para obtener más detalles, consulte las páginas man.

$ man sshd_config

Conclusión

En esta guía, discutimos cómo deshabilitar la autenticación de contraseña SSH para un usuario o grupo específico en Linux. Además, analizamos cómo deshabilitar el acceso a la contraseña SSH para varios usuarios, cómo restringir el acceso a la contraseña SSH a todos los usuarios excepto al usuario root. Finalmente, aprendimos cómo restringir la autenticación de contraseña SSH por host o dirección IP.

Otras guías relacionadas con SSH:

  • Cómo configurar la autenticación basada en clave SSH en Linux
  • Permitir o denegar el acceso SSH a un usuario o grupo en particular en Linux
  • Limite el número de inicios de sesión SSH por usuario/grupo/sistema
  • 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
  • SSLH:comparta un mismo puerto para HTTPS y SSH
  • ScanSSH:servidor SSH rápido y escáner proxy abierto
  • Cómo reanudar archivos transferidos parcialmente a través de SSH mediante Rsync
  • Cómo ejecutar un solo comando en varios sistemas remotos a la vez
  • DSH:ejecute un comando de Linux en varios hosts a la vez
  • Cómo evitar que la sesión SSH se desconecte en Linux
  • Cómo habilitar SSH en FreeBSD

Espero que esto ayude.


Linux
  1. Cómo cambiar, eliminar o deshabilitar la contraseña de usuario en Linux

  2. Cómo deshabilitar el inicio de sesión SSH con contraseña

  3. Comando sshpass:autenticación de contraseña no interactiva con SSH

  4. Habilite la contraseña simple para el usuario root en CentOS

  5. ssh todavía acepta la autenticación de contraseña a pesar de estar configurado para autenticación de clave pública únicamente (¡lo cual funciona!)

Cómo deshabilitar la autenticación de contraseña SSH en Linux VPS

Cómo encontrar si un usuario está utilizando autenticación SSH basada en contraseña o clave en Linux

Cómo configurar la autenticación multifactor para SSH en Linux

Cómo deshabilitar el inicio de sesión SSH para un usuario específico en Linux

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

Rsync con SSH solicitando contraseña remota