Configurar Acceso por SSH en Ubuntu

Cris
0

(toc) #title=(Tabla de Contenido) 

El acceso remoto a nuestros servidores o computadoras personales es una necesidad común en el mundo de la informática. SSH (Secure Shell) es la herramienta estándar para lograrlo de forma segura, permitiéndonos ejecutar comandos, transferir archivos y gestionar sistemas a distancia a través de un canal cifrado.

En este artículo, te guiaremos paso a paso para configurar el servicio SSH en tu máquina con Ubuntu, habilitar el acceso por clave pública (más seguro y conveniente que la contraseña) y configurar una resolución de nombre local amigable usando Avahi, para que no tengas que recordar la dirección IP.

Requisitos:

  • Una computadora con Ubuntu instalada.
  • Acceso a una terminal con permisos de superusuario (sudo).
  • Otra máquina desde la cual te conectarás (puede ser Mac, Linux o Windows con un cliente SSH).

¡Empecemos!


ssh ubuntu


Mantener tu Sistema Actualizado

Es una buena práctica antes de instalar cualquier software asegurarse de que tu sistema operativo esté al día con las últimas actualizaciones de seguridad y corrección de errores.

Abre una terminal en tu máquina Ubuntu y ejecuta el siguiente comando:

sudo apt update -y

sudo apt upgrade -y # Opcional pero recomendado para actualizar paquetes (code-box)

 

Instalar el Servidor OpenSSH

El paquete openssh-server es el que permite que tu máquina Ubuntu acepte conexiones SSH entrantes.

Instálalo con el siguiente comando:

sudo apt install openssh-server -y (code-box)


Verificar el Estado del Servicio SSH

Una vez instalado, el servicio SSH (sshd) debería iniciarse automáticamente. Podemos verificar su estado con:

systemctl status ssh (code-box)

Busca una línea que diga Active: active (running). Si lo ves, ¡el servicio está corriendo!


Iniciar y Habilitar el Servicio SSH (Si es Necesario)

Si el comando anterior muestra que el servicio no está activo (por ejemplo, Active: inactive (dead)), puedes iniciarlo manualmente con:

sudo systemctl start ssh (code-box)

Para asegurarnos de que el servicio SSH se inicie automáticamente cada vez que reinicies tu computadora, habilítalo con:

sudo systemctl enable ssh (code-box)


Configurar DNS Local Sencillo con Avahi

Avahi es una implementación de Zeroconf (Configuración Cero) que permite a los programas publicar y descubrir servicios y hosts en una red local sin necesidad de configuración manual de DNS. Esto significa que podrás conectarte a tu servidor Ubuntu usando un nombre fácil de recordar (como nombre-de-tu-equipo.local) en lugar de su dirección IP.

Instala el demonio Avahi con:

sudo apt install avahi-daemon -y (code-box)


Configurar el Nombre del Host para Avahi

Para que Avahi pueda anunciar tu máquina con un nombre específico en la red local, es recomendable establecer un nombre de host claro y único.

Puedes configurar el nombre del host (por ejemplo, ubuntu-server) con el siguiente comando:

sudo hostnamectl set-hostname ubuntu-server (code-box)

Reemplaza ubuntu-server por el nombre que prefieras. Este nombre será accesible en tu red local como ubuntu-server.local.


Reiniciar el Servicio Avahi

Para que los cambios en el nombre del host surtan efecto en Avahi, reinicia el servicio:

sudo systemctl restart avahi-daemon (code-box)


Validar la Configuración de DNS Local

Desde otra máquina en la misma red local, intenta conectarte a tu servidor Ubuntu usando el nombre de host que configuraste seguido de .local.

Reemplaza "usuario" con tu nombre de usuario en la máquina Ubuntu y "ubuntu-server" con el nombre de host que estableciste:

ssh usuario@ubuntu-server.local (code-box)

La primera vez que te conectes, es posible que te pida confirmar la clave pública del servidor. Si te pide la contraseña de tu usuario de Ubuntu y logras conectarte, significa que Avahi está funcionando correctamente.


Generar tus Llaves SSH RSA (en tu máquina cliente)

La autenticación por clave pública es más segura y conveniente que usar contraseñas, ya que no expones tu contraseña a posibles ataques de fuerza bruta y puedes conectarte sin tener que escribirla cada vez.

Este paso lo realizas en la máquina desde la que te conectarás a tu servidor Ubuntu (tu máquina cliente, por ejemplo, tu Mac o PC con Linux/Windows).

Abre una terminal en tu máquina cliente y ejecuta:

ssh-keygen -t rsa -b 4096 -C "tu-email@ejemplo.com" (code-box)

  • -t rsa: Especifica el tipo de clave (RSA es un algoritmo común y seguro).
  • -b 4096: Establece el número de bits para la clave (4096 es un tamaño robusto).
  • -C "tu-email@ejemplo.com": Agrega un comentario a la clave (opcional, útil para identificar la clave).


  • Copiar la Clave Pública a tu Servidor Ubuntu

    Ahora necesitamos transferir tu clave pública (id_rsa.pub) desde tu máquina cliente a tu servidor Ubuntu. La herramienta ssh-copy-id simplifica este proceso.

    Desde tu máquina cliente, ejecuta el siguiente comando. Reemplaza "usuario" por tu nombre de usuario en el servidor Ubuntu y "ubuntu-server.local" por el nombre de host que configuraste (o su dirección IP si Avahi no funciona aún).

    ssh-copy-id -i ~/.ssh/id_rsa.pub usuario@ubuntu-server.local (code-box)

    Validar la Conexión sin Contraseña

    Llegó el momento de la verdad! Desde tu máquina cliente, intenta conectarte de nuevo a tu servidor Ubuntu:

    ssh usuario@ubuntu-server.local (code-box)

    ¡Felicidades! Has configurado exitosamente el acceso SSH a tu servidor Ubuntu utilizando autenticación por clave pública y has facilitado la conexión con un nombre local gracias a Avahi.




    Etiquetas

    Publicar un comentario

    0 Comentarios
    Publicar un comentario (0)
    Nuestro sitio web utiliza cookies para mejorar su experiencia. Más información
    Ok, Go it!