GNU/Linux >> Tutoriales Linux >  >> Linux

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

Imagina este escenario. Acabas de configurar la autenticación basada en clave SSH en su servidor Linux. Y luego, decidió deshabilitar completamente la autenticación basada en contraseña y permitir solo la autenticación basada en clave para todos los usuarios. Antes de deshabilitar la autenticación de contraseña, le gustaría verificar qué usuarios todavía usan contraseñas para acceder al servidor a través de SSH. ¿Cómo vas a hacer eso? Bueno, ¡es posible! Esta breve guía explica cómo saber si un usuario está utilizando autenticación SSH basada en contraseña o clave en Linux.

Averigüe si un usuario está usando autenticación SSH basada en contraseña o clave

Podemos identificar si un usuario ha iniciado sesión en un servidor Linux a través de SSH mediante contraseña o clave ssh. No es una forma 100% confiable y garantizada, pero sigue siendo un buen enfoque.

Primero, verifique si ~/.ssh/authorized_keys el archivo existe. Porque, en el método de autenticación basado en clave SSH, la clave pública SSH debe cargarse en los sistemas a los que desea acceder a través de SSH. Las claves públicas generalmente se almacenarán en un archivo llamado ~/.ssh/authorized_keys en los sistemas remotos. Si este archivo existe, es probable que el usuario esté utilizando la autenticación basada en claves.

Luego, verifique los archivos de registro de autenticación para verificar qué método de autenticación está usando el usuario actualmente para acceder al sistema remoto. El método de autenticación se registra en "/var/log/secure" archivo en sistemas basados ​​en RPM (por ejemplo, CentOS), "/var/log/auth.log" archivo en sistemas basados ​​en DEB (por ejemplo, Ubuntu).

Simplemente busque la entrada de contraseña en los archivos de registro de autenticación usando el comando grep o cualquier otra forma que prefieras.

$ grep 'password' /var/log/secure

O,

$ grep 'password' /var/log/auth.log

Salida de muestra:

[...]
May  8 10:40:36 ostechnix sshd[3303]: Accepted password for senthil from 192.168.225.37 port 41990 ssh2
May  8 10:40:56 ostechnix sshd[3405]: Accepted password for sk from 192.168.225.37 port 41992 ssh2

¿Notaste las líneas "Contraseña aceptada para..." en la salida anterior? Significa que el usuario está accediendo a los sistemas remotos usando una contraseña. Según el resultado anterior, los usuarios "senthil" y "sk" están accediendo al sistema remoto utilizando la autenticación de contraseña ssh.

Si el usuario usa la autenticación basada en claves, probablemente verá un resultado como el siguiente:

May 8 10:40:56 ostechnix sshd[3405]: Accepted publickey for sk from 192.168.225.37 port 41992 ssh2

Por supuesto, es un poco difícil si el archivo de registro es muy largo con una gran cantidad de entradas. En ese caso, use "tail" Comando para ver un número particular de archivos de registro.

Por ejemplo, el siguiente comando solo mostrará las últimas 10 entradas del archivo de registro:

$ grep 'password' /var/log/auth.log | tail -n 10

Salida de muestra:

May  8 10:21:49 ostechnix sshd[2135]: Accepted password for senthil from 192.168.225.37 port 41920 ssh2
May  8 10:21:57 ostechnix sshd[2222]: Accepted password for sk from 192.168.225.37 port 41922 ssh2
May  8 10:24:57 ostechnix sshd[2360]: Accepted password for senthil from 192.168.225.37 port 41924 ssh2
May  8 10:25:04 ostechnix sshd[2448]: Accepted password for sk from 192.168.225.37 port 41926 ssh2
May  8 10:29:40 ostechnix sshd[2663]: Accepted password for senthil from 192.168.225.37 port 41938 ssh2
May  8 10:29:55 ostechnix sshd[2765]: Accepted password for sk from 192.168.225.37 port 41940 ssh2
May  8 10:39:34 ostechnix sshd[3064]: Accepted password for senthil from 192.168.225.37 port 41986 ssh2
May  8 10:39:55 ostechnix sshd[3184]: Accepted password for sk from 192.168.225.37 port 41988 ssh2
May  8 10:40:36 ostechnix sshd[3303]: Accepted password for senthil from 192.168.225.37 port 41990 ssh2
May  8 10:40:56 ostechnix sshd[3405]: Accepted password for sk from 192.168.225.37 port 41992 ssh2

También puede usar -f marca para seguir el registro mientras realiza la prueba.

$ grep 'password' /var/log/auth.log | tail -f -n 10

Si desea verificar todo el archivo de registro para encontrar "contraseña" entradas página por página, use "less" comando:

$ grep 'password' /var/log/auth.log | less

Para encontrar todos los registros relacionados con sshd (intentos exitosos o fallidos), reemplace "contraseña" con "sshd" en todos los comandos anteriores.

$ grep 'sshd' /var/log/auth.log | tail -n 10

Otras guías relacionadas con SSH:

  • 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 encontrar conexiones SSH activas en Linux

  2. Cómo encontrar todos los usuarios de Sudo en Linux

  3. Cómo crear un usuario de Linux usando Ansible

  4. ¿Cómo restablecer la contraseña de administrador de Plesk usando SSH en el servidor Linux?

  5. Cómo encontrar el uso de la memoria del usuario en Linux

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

Cómo cambiar o establecer la contraseña de usuario en Linux

Cómo pasar la contraseña al comando SSH en Linux

Cómo realizar una copia de seguridad remota de Linux mediante SSH

Cómo encontrar la contraseña WiFi guardada en Linux Mint usando GUI o terminal

cómo configurar la autenticación basada en clave SSH en Linux VPS o servidor dedicado