Cómo configurar y usar SSH en Linux

Ssh En Ubuntu Característica

Si has estado utilizando Linux durante algún tiempo, sin duda has oído hablar de una herramienta conocida como SSH. Secure Shell, comúnmente conocido como SSH, es un protocolo de red para establecer conexiones seguras entre un cliente y un servidor remoto. Está diseñado para permitir a los usuarios iniciar sesión de manera segura en varios tipos diferentes de computadoras de forma remota a través de una red. Aquí te mostramos cómo configurar y copiar las claves SSH a tu servidor fácilmente.

También lee: Cómo mostrar todas las conexiones SSH activas en Linux

Instalando SSH

Para comenzar, tenemos que instalar el servidor SSH. Puedes encontrar e instalar el paquete openssh-server en el Centro de Software o en tu gestor de paquetes. Alternativamente, si estás en un servidor (o simplemente prefieres usar la terminal), abre una terminal y escribe el siguiente comando:

# Ubuntu/Debian  
sudo apt install openssh-server  
  
# Fedora/CentOS/REHL  
sudo dnf install openssh-server

Ssh En Ubuntu Instalando

También lee: Cómo crear un honeypot SSH para atrapar hackers en tu servidor Linux

Habilitar SSH en Linux

Una vez que se ha instalado el servidor OpenSSH en tu máquina, necesitarás iniciar y habilitar la unidad systemd. Para hacer eso, simplemente puedes escribir el siguiente comando en la terminal:

sudo systemctl enable --now ssh

Ssh En Ubuntu Habilitando

Bueno saber: puedes conectar programas en Linux usando tuberías SSH.

Generando claves SSH

Una vez que hayas instalado el servidor openssh, puedes comenzar a generar pares de claves SSH. Antes de continuar, asegúrate de que no tienes un par de claves existente, ya que este proceso sobrescribirá el existente.

Para verificar si tienes un par de claves existente, usa el comando:

ls -la ~/.ssh

Si tienes un par de claves existente, el comando anterior debería mostrar los archivos “id_rsa” y “id_rsa.pub”.

Ls La Ssh

Una vez que verifiques que no tienes un par de claves SSH existente, puedes proceder a generar uno nuevo. De lo contrario, haz una copia de seguridad de tus claves antiguas para evitar perderlas.

Para generar una nueva clave, usa el comando:

ssh-keygen -t rsa -b 4096

El comando anterior invoca la utilidad ssh-keygen para generar de forma interactiva un par de claves SSH. Usando la opción -t, especificamos el tipo de clave a generar. En este caso, generamos una clave RSA.

También usamos la opción -b para especificar el número de bits en la clave. Si usas una clave RSA, el tamaño mínimo de los bits es 1024. Si no se especifica, generará la clave con 3072 bits.

Ssh Keygen Rsa

Es bueno usar la ubicación predeterminada para almacenar las claves SSH para evitar tener que escribir la ruta al conectarte a SSH usando las claves.

Si no deseas encriptar tu clave con una frase de paso, presiona Enter para omitir.

Copiar clave al servidor remoto

Ahora que hemos generado un nuevo par de claves SSH, necesitamos cargarlo en la máquina remota que queremos administrar.

La forma más eficiente de hacerlo es usar el comando ssh-copy-id. Usa el comando como:

ssh-copy-id usuario_remoto@ip_remota

Si estás usando un archivo de clave con un nombre de archivo separado, puedes usar el siguiente comando para especificar la ruta al archivo de clave.

ssh-copy-id -i ~/.ssh/id_rsa usuario_remoto@ip_remota

Si estás iniciando sesión en la máquina remota por primera vez, necesitarás aceptar la huella digital.

A continuación, ingresa la contraseña SSH para el usuario remoto.

Una vez autenticado, el comando ssh-copy-id añadirá el contenido de tu clave id_rsa.pub al archivo “~/.ssh/authorized_keys” en la máquina remota y cerrará la conexión.

Ssh Copiar Id

Iniciar sesión en la máquina remota

Una vez que hayas completado exitosamente todos los pasos anteriores, ahora puedes iniciar sesión en el servidor remoto sin necesidad de una contraseña.

Puedes probar esto utilizando el comando:

ssh usuario_remoto@ip_remota

A menos que tengas habilitada una frase de paso para tu clave, iniciarás sesión automáticamente.

Preguntas frecuentes

1. ¿Es seguro SSH?

SSH es una herramienta de seguridad poderosa que permite a los usuarios autenticados iniciar sesión en un sistema remoto. Sin embargo, solo es tan seguro como su archivo de configuración lo permita. Un servidor SSH no configurado o mal configurado puede ser vulnerable a hackers y accesos de terceros. Asegúrate de asegurar la configuración de SSH justo después de instalarlo.

2. ¿Dónde están las claves autorizadas de SSH?

El archivo authorized_keys de SSH contiene la clave pública de cada usuario y especifica qué usuarios tienen permiso para iniciar sesión en un servidor. En Linux, el archivo authorized_keys generalmente se encuentra en la carpeta “.ssh” en el directorio principal del usuario.

3. ¿Cómo puedo solucionar el problema de permisos denegados al usar ssh-copy-id?

Esto solo sucede cuando ya tienes una clave pública configurada en tu servidor remoto y has deshabilitado la autenticación por contraseña. Para solucionar este problema, primero inicia sesión en tu servidor, habilita la autenticación por contraseña en el archivo “/etc/ssh/sshd_config”, luego ejecuta el comando ssh-copy-id nuevamente.

Una vez que hayas copiado el nuevo archivo de clave, recuerda deshabilitar la opción de autenticación por contraseña nuevamente.