Tutoriales

Cómo habilitar la autenticación de dos factores (2FA) para SSH

Por defecto, Ssh Las comunicaciones seguras de datos ya se usan entre computadoras remotas, pero si desea agregar una capa adicional de seguridad a la conexión SSH, puede agregar una Autenticador de Google (Autenticación de dos factores) El módulo le permite ingresar una contraseña de una sola vez al azar (TOTP) Conectarse a Ssh Servidor. Debes de tu Teléfono móvil o Ordenador personal Cuando te conectas.

este Autenticador de Google Es un módulo de código abierto, incluida la implementación de una contraseña única (TOTP) Token de verificación por Google.

Admite varias plataformas móviles, así como PAM (módulo de autenticación conectable). Estas contraseñas de una sola vez son utilizadas por juramento Iniciativa de verificación de identidad abierta).

En este artículo, te mostraré cómo configurar y configurar Ssh Para la autenticación de dos factores basada en distribuciones de Linux con sede en Redhat y Debian, como Fedora, Centos Stream, Rocky Linux y Almalinux, Ubuntu, Debian y Mint.

Instale Google Authenticator en Linux

Abra la máquina para configurar la autenticación de dos factores y luego instale lo siguiente Pam Biblioteca y Biblioteca de Desarrollo Pam Módulos que se usan correctamente con este módulo Autenticador de Google Módulo.

En sistemas basados en Redhat (Rhel, Centos Stream, Rocky Linux, Almalinux), debe habilitar el repositorio de Epel e instalar los paquetes requeridos:

sudo dnf install epel-release -y
sudo dnf install google-authenticator qrencode-libs -y

En un sistema basado en Debian, instale el módulo Google Authenticator PAM utilizando el siguiente comando APT.

sudo apt install libpam-google-authenticator -y

Generar token de autenticación de Google

Después de la instalación, ejecute el siguiente comando como el usuario a proteger.

google-authenticator

Le pedirá que haga una serie de preguntas. Solo escribe "y" () como la respuesta en la mayoría de los casos. Si algo sale mal, puede ejecutar el comando nuevamente para restablecer la configuración.

Después de estas preguntas, obtendrá la clave secreta y el código de emergencia. Escriba estos detalles en algún lugar, porque más tarde necesitamos una clave secreta para configurarlo Autenticador de Google aplicación

Puede ver una salida como esta:

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:


Failed to use libqrencode to show QR code visually for scanning.
Consider typing the OTP secret into your app manually.

Your new secret key is: CYZF2YF7HFGX55ZEPQYLHOM
Enter code from app (-1 to skip): -1
Code confirmation skipped

Your emergency scratch codes are:
83714291
53083200
80975623
57217008
77496339

Continuar respondiendo "y" A todas las indicaciones de configuración:

Do you want me to update your "/root/.google_authenticator" file (y/n) y
Do you want to disallow multiple uses of the same authentication token? (y/n) y
Do you want to increase the window to about 4min? (y/n) y
Do you want to enable rate-limiting? (y/n) y
Generar el token de Google Auth

Configurar SSH para usar Google Authenticator en Linux

Abierto Pam Archivo de configuración ‘/etc/pam.d/sshd‘Y agregue la siguiente línea en la parte superior o antes de cualquier cosa pam_permit.so Cable:

auth required pam_google_authenticator.so nullok
Configurar PAM para SSH
Configurar PAM para SSH

notas: si Selinux Habilitado, móvil .google_authenticator Archivo a una ubicación con el contexto Selinux apropiado (p. Ej. ~/.ssh/) y especifique la ruta completa:

auth required pam_google_authenticator.so secret=/home//.ssh/.google_authenticator nullok

A continuación, abra Ssh Archivo de configuración ‘/etc/ssh/sshd_config«Y asegúrese de que estas líneas estén establecidas:

UsePAM yes
ChallengeResponseAuthentication yes
Configurar SSH para Google Auth
Configurar SSH para Google Auth

Puede optar por realizar 2FA y autenticación de clave/contraseña:

AuthenticationMethods publickey,keyboard-interactive

Finalmente, reiniciar Ssh Servicios para hacer nuevos cambios.

sudo systemctl restart sshd

Configurar la aplicación de autenticador de Google

puesta en marcha Autenticador de Google Aplicar en su teléfono inteligente. de acuerdo a + + Y seleccionar «Ingrese la clave de configuración«. Si no tiene esta aplicación, puede descargarla e instalarla Autenticador de Google Tu aplicación Android/iPhone/Blackberry equipo.

Agregue su cuenta ‘Nombre‘e enter’Clave secreta‘Antes de la generación.

Clave secreta de SSH
Clave secreta de SSH

Generará una contraseña de una sola vez (Código de verificación) cambiará constantemente cada 30 segundos En tu teléfono.

Código de autores de SSH Google
Código de autores de SSH Google

Ahora, intenta pasar Sshse le pedirá Código de autenticador de Google (Código de verificación) y contraseña Siempre que intentes pasar Ssh. Solo tienes 30 segundos Ingrese este código de verificación; Si lo pierde, regenerará un nuevo código de verificación.

login as: tecmint
Access denied
Using keyboard-interactive authentication.
Verification code:
Using keyboard-interactive authentication.
Password:
Last login: Tue Apr 23 13:58:29 2022 from 172.16.25.125
[root@tecmint ~]#

Si no tiene un teléfono inteligente, también puede usar «Verificador de identidadLos complementos de Firefox o las aplicaciones de escritorio TOTP son similares KeepAssxc o Aplicación de autenticador Para Linux.

Importante: La autenticación de dos factores se puede utilizar para el inicio de sesión SSH basado en contraseña. Si está utilizando cualquier sesión SSH de clave privada/pública, ignorará la autenticación de dos factores y lo registrará directamente.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba