Habilitar conexión SSH con contraseña y desactivar llave .key

· 1 min de lectura
Habilitar conexión SSH con contraseña y desactivar llave .key

Para habilitar la conexión con contraseña en ubuntu mediante SSH, se tiene que desactivar la autenticación de clave pública y modificando el archivo de configuración sshd_config.

En la consola editar el archivo sshd_config usando un editor como nano*

sudo nano /etc/ssh/sshd_config

para desactivar la autenticación por clave pública buscar la siguiente linea

PubkeyAuthentication yes

modificar a

PubkeyAuthentication no

para habilitar la autenticación usando una contraseña, ubicarse en la siguiente linea

#PasswordAuthentication yes

quitar el #, debe quedar de la siguiente manera.

Permitir logueo de usuario root

modificar la linea

#PermitRootLogin prohibit-password

por lo siguiente

PermitRootLogin yes

definir una contraseña para el login

sudo passwd *user*

finalmente reiniciar el servicio ssh para efectutar los cambios.

sudo systemctl restart ssh

Para versiones Ubuntu 22 o 24 puedes realizar el siguiente procedimiento

grep -r PasswordAuthentication /etc/ssh -l | xargs -n 1 sed -i 's/#\s*PasswordAuthentication\s.*$/PasswordAuthentication yes/; s/^PasswordAuthentication\s*no$/PasswordAuthentication yes/'

y seguidamente reiniciando el servicio ssh

service ssh restart

Explicación del comando:

  1. grep -r PasswordAuthentication /etc/ssh -l
    • Busca recursivamente (-r) en /etc/ssh archivos que contengan "PasswordAuthentication"
    • -l muestra solo los nombres de los archivos que coinciden
  2. xargs -n 1 sed -i
    • Toma cada archivo encontrado y ejecuta sed -i (edición in-place)
    • -n 1 procesa un archivo a la vez
  3. La expresión sed hace dos sustituciones:
    • s/#\s*PasswordAuthentication\s.*$/PasswordAuthentication yes/:
      • Reemplaza líneas comentadas (que comienzan con #) sobre PasswordAuthentication
    • s/^PasswordAuthentication\s*no$/PasswordAuthentication yes/:
      • Cambia "PasswordAuthentication no" explícito a "yes"