GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Configurar la autenticación multifactor para SSH en Ubuntu 20.04

SSH es un "protocolo de shell seguro" que se utiliza para conectar y administrar sistemas Linux remotos de forma segura a través de una red no segura. Es muy útil para que los administradores de sistemas realicen las tareas del día a día en el servidor remoto. Por lo tanto, asegurar un servidor SSH es una parte esencial de cualquier administrador de sistemas.

De forma predeterminada, puede conectarse a SSH con una contraseña o usando la clave privada. Eso significa que es solo una autenticación de un solo factor. Por lo tanto, es una buena idea implementar la autenticación multifactor en el servidor SSH para agregar una capa adicional de seguridad. En la autenticación multifactor, deberá proporcionar su contraseña de usuario del sistema y otra contraseña generada en un dispositivo móvil. Esto mejorará significativamente la seguridad de su servidor.

En este tutorial, le mostraremos cómo configurar la autenticación multifactor para SSH en Ubuntu 20.04 VPS.

Requisitos

  • Un Ubuntu 20.04 VPS (usaremos nuestro plan SSD 2 VPS)
  • Acceso a la cuenta de usuario root (o acceso a una cuenta de administrador con privilegios de root)

Paso 1:Inicie sesión en el servidor y actualice los paquetes del sistema operativo del servidor

Primero, inicie sesión en su servidor Ubuntu 20.04 a través de SSH como usuario raíz:

ssh root@IP_Address -p Port_number

Deberá reemplazar 'IP_Address' y 'Port_number' con la dirección IP y el número de puerto SSH respectivos de su servidor. Además, reemplace "root" con el nombre de usuario de la cuenta de administrador si es necesario.

Antes de comenzar, debe asegurarse de que todos los paquetes del sistema operativo Ubuntu instalados en el servidor estén actualizados. Puede hacerlo ejecutando los siguientes comandos:

apt-get update -y
apt-get upgrade -y

Paso 2:Instalar Google Authenticator

Usaremos Google Authenticator para la autenticación multifactor. Por lo tanto, deberá instalar el módulo PAM de Google Authenticator en su sistema. Puede instalarlo ejecutando el siguiente comando:

apt-get install libpam-google-authenticator -y

Una vez que se haya instalado el paquete, ejecute Google Authenticator usando el siguiente comando:

google-authenticator

Durante la instalación, se le hará la siguiente pregunta:

Do you want authentication tokens to be time-based (y/n) y
Warning: pasting the following URL into your browser exposes the OTP secret to Google:
  https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/root@ubuntu2004%3Fsecret%3D4XXQ2QA6FRV72SDM2JWSZTQJE4%26issuer%3D

Presiona y y pulsa Intro continuar. Debería ver un código QR en la siguiente pantalla:

Responda todas las preguntas y pulse Intro para finalizar el proceso como se muestra a continuación:

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, a new token is generated every 30 seconds by the mobile app.
In order to compensate for possible time-skew between the client and the server,
we allow an extra token before and after the current time. This allows for a
time skew of up to 30 seconds between authentication server and client. If you
experience problems with poor time synchronization, you can increase the window
from its default size of 3 permitted codes (one previous code, the current
code, the next code) to 17 permitted codes (the 8 previous codes, the current
code, and the 8 next codes). This will permit for a time skew of up to 4 minutes
between client and server.
Do you want to do so? (y/n) y

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting? (y/n) If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting? (y/n) y

Paso 3:Instale la aplicación Google Authenticator

A continuación, deberá instalar la aplicación Google Authenticator en su teléfono inteligente. Una vez instalado, abre Google Authenticator en tu móvil y escanea el código QR anterior. Una vez que se escanee el código QR, debería ver una contraseña de un solo uso de seis dígitos en su teléfono, como se muestra a continuación:

Esta contraseña caducará en 30 segundos, por lo que deberá abrir la aplicación Google Authenticator y ver una nueva contraseña para iniciar sesión en el servidor de Ubuntu a través de SSH.

También puede ver la clave secreta, el código de verificación y el código de emergencia en el resultado anterior. Se recomienda guardarlo en un lugar seguro para su uso posterior.

Your new secret key is: 4XXQ2QA6FRV72SDM2JWSZTQJE4
Your verification code is 423832
Your emergency scratch codes are:
  96469497
  84504151
  61871048
  79931657
  71052210

Paso 4:Configure SSH para usar Google Authenticator

A continuación, también deberá configurar SSH para usar Google Authenticator. Puede configurarlo editando el archivo /etc/ssh/sshd_config:

nano /etc/ssh/sshd_config

Cambie las siguientes líneas:

UsePAM yes
ChallengeResponseAuthentication yes

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio SSH para aplicar la configuración:

systemctl restart sshd

A continuación, deberá editar el archivo /etc/pam.d/sshd y definir las reglas PAM para el servicio SSH:

nano /etc/pam.d/sshd

Agregue la siguiente línea después de @include common-auth :

auth required pam_google_authenticator.so

Guarde y cierre el archivo.

Paso:5 Probar autenticación de dos factores

En este punto, su servidor SSH ahora está configurado con autenticación de múltiples factores. Es hora de conectarlo y probarlo.

En el sistema remoto, abra su terminal e inicie sesión en su servidor a través de SSH como se muestra a continuación:

ssh root@ssh-server-ip

Se le pedirá que proporcione la contraseña de su sistema y el código de verificación generado por Google Authenticator. Proporcione la contraseña de su sistema que se muestra en la aplicación Google Authenticator y presione Enter para iniciar sesión en el servidor como se muestra a continuación:

¡Felicidades! su servidor SSH ahora está protegido con autenticación multifactor.

Por supuesto, no tiene que configurar la autenticación multifactor para SSH en Ubuntu VPS si utiliza uno de nuestros servicios de Hosting gestionado, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que configuren la autenticación multifactor para SSH. en Ubuntu, para ti. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD. Si le gustó esta publicación sobre cómo configurar la autenticación multifactor para SSH en Ubuntu, compártala con sus amigos en las redes sociales usando los botones a la izquierda o simplemente deje una respuesta a continuación. Gracias.


Panels
  1. Un script BASH simple para la instalación posterior del servidor Ubuntu

  2. Cómo configurar WireGuard en Ubuntu 22.04

  3. Cómo instalar y configurar el servidor sftp en Ubuntu 20.04

  4. Cómo configurar claves SSH en Ubuntu 16.04

  5. Servidor Ubuntu para tontos

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

Configurar la autenticación de dos factores SSH (2FA) en el servidor Ubuntu

Cómo configurar la autenticación de dos factores SSH en Ubuntu 16.04 con Google Authenticator

Cómo configurar Tegola Vector Tile Server en Ubuntu 20.04 para OpenStreetMap

Cómo habilitar el servidor SSH en Ubuntu 22.04

Servidor de monitoreo Graylog en Ubuntu Linux para servidores/servicios de monitoreo