GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo generar claves SSH en Ubuntu 18.04

Introducción

Establecer una conexión SSH (Secure Shell) es esencial para iniciar sesión y administrar de manera efectiva un servidor remoto. Las claves cifradas son un conjunto de credenciales de acceso que se utilizan para establecer una conexión segura.

Esta guía le mostrará cómo generar claves SSH en Ubuntu 18.04. También cubriremos la configuración de la autenticación basada en clave SSH para conectarse a un servidor remoto sin requerir una contraseña.

Requisitos previos

  • Un servidor que ejecuta Ubuntu 18.04, SSH habilitado en Ubuntu
  • Una cuenta de usuario con sudo privilegios
  • Acceso a una ventana de terminal/línea de comandos (Ctrl-Alt-T)

Creación de claves SSH en Ubuntu

Paso 1:generar el par de claves SSH

En su cliente sistema, el que está utilizando para conectarse al servidor, debe crear un par de códigos clave.

Para generar un par de códigos de clave SSH , ingrese los comandos:

mkdir –p $HOME/.ssh
chmod 0700 $HOME/.ssh
ssh-keygen

Esto creará un directorio oculto para almacenar sus claves SSH y modificará los permisos para ese directorio. El ssh-keygen El comando crea un par de claves RSA de 2048 bits.

Para mayor seguridad, utilice RSA4096:

ssh –keygen –t rsa 4096

Si ya ha generado un par de claves, se le pedirá que las sobrescriba y esas claves antiguas ya no funcionarán.

El sistema le pedirá que cree una frase de contraseña como una capa adicional de seguridad. Ingrese una frase de contraseña memorable y presione Enter .

Paso 2:copia la clave pública en el servidor de Ubuntu

Primero, obtenga la dirección IP del servidor Ubuntu al que desea conectarse.

En una ventana de terminal, ingrese:

ip a

La dirección IP del sistema aparece en la segunda entrada:

En el cliente sistema, use el ssh-copy-id comando para copiar la información de identidad al servidor Ubuntu :

ssh-copy-id [email protected]<server_IP>

Reemplazar server_IP con la dirección IP real de su servidor.

Si es la primera vez que se conecta al servidor, es posible que vea un mensaje que indica que no se puede establecer la autenticidad del host:

The authenticity of host '192.168.0.15 (192.168.0.15)' can't be established.

ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.

Are you sure you want to continue connecting (yes/no)?

Escribe y presiona Entrar .

El sistema comprobará su cliente sistema para el id_rsa.pub clave que se generó previamente. Luego le pedirá que ingrese la contraseña para el servidor cuenta de usuario. Escríbala (el sistema no mostrará la contraseña) y presione Enter .

El sistema copiará el contenido del ~/.ssh/id_rsa.pub del cliente sistema en ~/.ssh/authorized_keys directorio del servidor sistema.

El sistema debería mostrar:

Number of key(s) added: 1

Método alternativo para copiar manualmente la clave SSH

Si su sistema no tiene el ssh-copy-id comando, puede copiar la clave manualmente a través de SSH.

Utilice el siguiente comando:

cat ~/.ssh/id_rsa.pub | ssh [email protected]_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

Paso 3:inicie sesión en el servidor remoto

Para iniciar sesión en un servidor remoto, ingrese el comando:

ssh [email protected]_IP

El sistema no debe solicitar una contraseña ya que está negociando una conexión segura utilizando las claves SSH. Si usó una frase de contraseña de seguridad, se le pedirá que la ingrese. Después de hacerlo, habrá iniciado sesión.

Paso 4:deshabilite la autenticación de contraseña

Este paso crea una capa adicional de seguridad. Si eres la única persona que inicia sesión en el servidor, puedes desactivar la contraseña. El servidor solo aceptará un inicio de sesión con su clave privada para que coincida con la clave pública almacenada.

Edite el sshd_config archivo:

sudo nano /etc/ssh/sshd_config

Busque el archivo y encuentre la PasswordAuthentication opción.

Edite el archivo y cambie el valor a no :

...

PasswordAuthentication no

...

Guarde el archivo y salga, luego reinicie el servicio SSH:

sudo systemctl restart ssh

Verifique que SSH todavía esté funcionando antes de finalizar la sesión:

ssh [email protected]_IP

Si todo funciona, puede cerrar y reanudar el trabajo normalmente.


Ubuntu
  1. Cómo habilitar el servicio SSH en Ubuntu 22.04 LTS

  2. Cómo habilitar el servidor SSH en Ubuntu 22.04 Jammy Linux

  3. Cómo configurar claves SSH en Ubuntu 16.04

  4. Cómo configurar claves SSH en Ubuntu 18.04

  5. Cómo configurar claves SSH autorizadas en Ubuntu

Cómo administrar de forma remota el servidor Ubuntu con SSH

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