GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar claves SSH autorizadas en Ubuntu

SSH, o Secure Shell, está diseñado para acceder al contenido de el host remoto para realizar varios tipos de tareas de forma remota. SSH no está instalado por defecto en Ubuntu. Después de la instalación, el SSH puede proporcionar acceso encriptado y protegido con contraseña al sistema remoto. El servidor SSH se ejecuta en el host remoto y el cliente SSH se ejecuta en el sistema que realiza la conexión remota. las claves_autorizadas El archivo es la parte más importante de la conexión SSH. Especifica las claves que se utilizan para autenticar a los usuarios que pueden iniciar sesión en el host remoto mediante la autenticación de clave pública. El uso de este archivo para la conexión SSH se explicó en este tutorial.

requisitos

El servidor SSH no está instalado por defecto en Ubuntu. Debe instalar el paquete OpenSSH que funcionará como un servidor SSH antes de comenzar este tutorial. Ejecute el siguiente comando para instalar el servidor OpenSSH si aún no está instalado en el sistema.

$ sudo apt install abre el servidor sh

Generar una clave SSH

Genere los pares de claves SSH para ejecutar los comandos en el servidor remoto. Ejecute el siguiente comando para crear la clave pública y la clave privada. La clave privada se almacena en el servidor remoto y las claves públicas se almacenan de forma segura en el cliente.

$ ssh-keygen -t rsa

Después de ejecutar el comando anterior, se le pedirá el nombre del archivo en el que se guardará la clave. Presiona el Entrar key para mantener el nombre de archivo de clave pública predeterminado, que es id_rsa.pub . A continuación se le pedirá la contraseña para iniciar sesión. Pulse de nuevo Enter presione dos veces si desea mantener la contraseña en blanco. El siguiente resultado similar se muestra después de generar las claves.

Cree el archivo "authorized_keys"

El archivo id_rsa.pub contiene la clave pública de la conexión SSH, que se almacena en la carpeta ~/.ssh/ del host remoto. La máquina cliente también necesita la clave pública para conectarse al host remoto, que se copiará en la siguiente parte del tutorial. Debe crear el archivo authorized_keys en la carpeta ~ / .ssh del host remoto que contiene la clave pública. Ejecute el siguiente comando para mover el archivo id_rsa.pub al archivo ~/.ssh/authorized_keys.

$mv~/.ssh/id_rsa.pub~/.ssh/claves_autorizadas

No obtendrá un error si el archivo se movió correctamente, como en la siguiente figura.

Cambiar el archivo de configuración

Debe establecer algunos parámetros de configuración en la computadora del servidor para realizar la conexión SSH sin contraseña. Ejecute el siguiente comando para abrir el archivo sshd_config con el editor nano para establecer los valores de parámetros requeridos.

$ sudo nano / etc / ssh / sshd_config

Establezca el valor de PasswordAuthentication en no para deshabilitar la opción de contraseña de texto para la conexión SSH.

Número de autenticación de contraseña

Guarde y cierre el archivo. Ejecute el siguiente comando para reiniciar el servicio SSH.

$ sudo systemctl reiniciar ssh

Ejecute el siguiente comando para configurar los bits de autorización en el archivo authorized_keys para evitar el acceso no autorizado a este archivo.

$chmod 600 ~/.ssh/autorizado_claves

Copiar la clave pública a la computadora cliente

Ahora inicie sesión en la máquina cliente desde la que está ejecutando el comando ssh para establecer una conexión SSH con el host remoto. Aquí se usaron dos cuentas de usuario de Ubuntu para verificar la conexión SSH en el servidor local. En este tutorial, se usó una cuenta de usuario como cliente y otra cuenta de usuario como servidor.

Ejecute el siguiente comando para crear una carpeta llamada ~ / .ssh en la computadora cliente si no existe.

$mkdir~/.ssh

Ejecute el siguiente comando para copiar la clave pública desde el host remoto a la carpeta ~ / .ssh del cliente.

$ scp [correo electrónico protegido]:/home/fahmida/.ssh/id_rsa ~ / .ssh /

Debe proporcionar la contraseña del nombre de usuario del host remoto para copiar la clave pública en la máquina cliente. Obtendrá el siguiente resultado si el archivo se copió correctamente. La computadora cliente ahora está lista para establecer la conexión con la computadora servidor a través del servicio SSH.

Inicie sesión en la computadora del servidor usando SSH sin contraseña

Ahora la clave pública está presente en las computadoras cliente y servidor. Cuando la computadora cliente envía la solicitud de conexión a la computadora servidor con el comando ssh, el servidor compara la clave pública del cliente con la clave pública del servidor. Si se encuentran las coincidencias, la conexión se realiza desde el cliente al servidor. Puede conectarse al servidor o al host remoto utilizando el nombre de host o la dirección IP. El servidor local usó este tutorial para mostrar el uso de authorized_key para establecer la conexión SSH desde la computadora del cliente a la computadora del servidor. Se usó una cuenta como máquina servidor en la que está instalado el servidor OpenSSH y otra cuenta se usó aquí como máquina cliente. Ejecute el siguiente comando en la máquina cliente para conectarse a la máquina servidor.

$ ssh [correo electrónico protegido]

El siguiente resultado aparecerá después de ejecutar el comando anterior. El resultado muestra que el nombre de usuario de la máquina cliente es 'yesmin'. El nombre de usuario de la computadora del servidor es 'fahmida'. La conexión SSH se estableció correctamente porque el nombre de usuario cambió de 'yesmin' a 'fahmida'. Ahora se puede acceder al contenido de la computadora del servidor sin ningún problema. Ahora, cuando el usuario ejecuta un comando, la salida se genera en función de la computadora del servidor.

diploma

El uso de authorized_keys para establecer la conexión SSH se explicó en este tutorial basado en localhost. Puede hacer el mismo proceso para realizar la conexión SSH para el host remoto. También puede usar el comando ssh-copy-id para la conexión SSH al servidor que se muestra en otro tutorial.


Ubuntu
  1. Cómo generar claves SSH en Ubuntu 18.04

  2. Servidor Ubuntu 20.04 SSH

  3. Cómo instalar y configurar un servidor NFS en Ubuntu 20.04

  4. Cómo instalar y configurar VNC en Ubuntu 20.04

  5. Cómo instalar y configurar VNC en Ubuntu 18.04

Cómo instalar OpenSSH en Ubuntu 20.04

Cómo instalar el servidor SSH en Ubuntu 20.04

Cómo habilitar el servidor SSH en Ubuntu 22.04

Cómo instalar el servidor SSH en Ubuntu 18.04 LTS

Cómo instalar el servidor SSH en Ubuntu 20.04 LTS

Cómo instalar el servidor SSH en Ubuntu 22.04 LTS