GNU/Linux >> Tutoriales Linux >  >> Linux

Permitir el inicio de sesión de root ssh solo con autenticación de clave pública

Lo básico

El servidor SSH tiene varias formas de autenticar a un cliente que se conecta a él. El método más popular es la autenticación basada en contraseña, ya que es el más fácil, sin embargo, no es tan seguro. Las contraseñas se intercambian con mecanismos seguros, sin embargo, debido a la facilidad de uso, generalmente no son complejas ni largas. Esto permite al atacante descifrar la contraseña mediante ataques de fuerza bruta o de diccionario. En tales escenarios, las claves SSH pueden proporcionar un medio de autenticación seguro y confiable para los clientes.

El servidor SSH utiliza un esquema de criptografía de clave pública para autenticar a los usuarios. En este esquema, se generan un par de claves, una clave pública y una clave privada, para la autenticación. Como sugiere el nombre, el cliente mantiene en secreto una clave privada, ya que su compromiso puede llevar a que alguien inicie sesión en el servidor sin ninguna autenticación adicional.

La clave pública correspondiente a la clave privada secreta del cliente no se mantiene como secreta y se copia en los sistemas en los que el usuario inicia sesión. La clave privada se utiliza para descifrar el mensaje cifrado mediante la clave pública asociada del cliente. Usando el par de claves, también podemos habilitar la autenticación sin contraseña. La clave pública de confianza del cliente se almacena en un archivo especial llamado authorized_keys en el directorio de inicio de la cuenta de usuario.

Cuando un cliente intenta autenticar el servidor SSH usando claves, se emite un desafío usando la clave pública del cliente almacenada en el servidor. Al descifrar con éxito el desafío usando la clave privada del cliente, el usuario obtiene acceso al shell del servidor.

Configurar la autenticación de solo clave pública para ssh

1. Como raíz, edite el archivo de configuración del demonio sshd (/etc/ssh/sshd_config ).

2. Modifique los parámetros PermitRootLogin y PubkeyAuthentication para que tengan los siguientes valores:

PermitRootLogin without-password
PubkeyAuthentication yes

Permita solo el inicio de sesión ssh basado en clave en la cuenta raíz configurando el valor de la directiva PermitRootLogin como sin contraseña como se muestra arriba.

3. Verifique que la sintaxis del archivo de configuración sshd_config sea correcta antes de reiniciar sshd deamon.

# sshd -t

El comando anterior no debería devolver nada. Esto significa que el archivo de configuración es sintácticamente correcto y está seguro de reiniciar el demonio sshd sin ningún problema.

4. Reinicie el demonio sshd:

# service sshd restart

o

# systemctl restart sshd


Linux
  1. Permitir el inicio de sesión ssh root en el servidor Ubuntu 14.04 Linux

  2. Cómo conectarse al servidor ssh con plink y cmd y clave pública

  3. Ssh:¿sigue recibiendo una solicitud de contraseña con Ssh con autenticación de clave pública?

  4. Primeros pasos con SSH en Linux

  5. Cómo configurar claves SSH para SSH "clave pública/privada" Iniciar sesión en Linux

Permitir inicio de sesión raíz SSH en Ubuntu 20.04 Focal Fossa Linux

Permitir inicio de sesión raíz SSH en Ubuntu 22.04 Jammy Jellyfish Linux

Cómo agregar una clave pública SSH al servidor

Inicio de sesión SSH sin contraseña en 3 pasos simples

Inicie sesión en un servidor Linux con una clave privada SSH en un cliente de Windows

Agregar clave pública al archivo unknown_hosts