Guía completa para usar SSH en Ubuntu: instalación y configuración
SSH es una herramienta fundamental para administradores de sistemas y usuarios avanzados que necesitan establecer conexiones seguras y encriptadas entre dispositivos remotos. En entornos basados en Linux, como Ubuntu, SSH permite acceder a servidores de forma remota, ejecutar comandos y transferir archivos de manera segura.
En esta guía, aprenderás desde cómo instalar y configurar SSH en Ubuntu hasta cómo mejorar su seguridad y establecer una conexión eficiente con servidores remotos. Además, explicaremos cómo generar y utilizar claves SSH para una autenticación más segura.
¿Qué es SSH y para qué se utiliza?
SSH (Secure Shell, enlace a Wikipedia) es un protocolo de red que permite la conexión segura y encriptada entre dos dispositivos. Su principal ventaja es que cifra la información transmitida, evitando que terceros puedan interceptarla. SSH es ampliamente utilizado por administradores de sistemas para:
- Conectarse a servidores remotos de forma segura.
- Gestionar archivos en servidores sin necesidad de una interfaz gráfica.
- Ejecutar comandos en equipos remotos.
- Transferir archivos de forma segura con SCP o SFTP.
Cómo instalar y habilitar SSH en Ubuntu
Para poder utilizar SSH en Ubuntu, primero debes instalar y habilitar el servicio. Sigue estos pasos:
1. Actualizar los paquetes del sistema
Antes de instalar cualquier paquete, es recomendable asegurarse de que el sistema está actualizado. Abre la terminal y ejecuta:
sudo apt update && sudo apt upgrade
2. Instalar el servidor OpenSSH
El servidor SSH en Ubuntu se llama OpenSSH y se instala con el siguiente comando:
sudo apt install openssh-server
Una vez finalizada la instalación, comprueba que el servicio está activo con:
sudo systemctl status ssh
Si el servicio está en ejecución, verás un mensaje indicando que el servidor SSH está activo.
3. Habilitar y arrancar el servicio SSH
Si el servicio no se ha activado automáticamente, puedes iniciarlo con:
sudo systemctl start ssh
Para asegurarte de que SSH se inicie automáticamente cada vez que reinicies el sistema, ejecuta:
sudo systemctl enable ssh
Conectar a un servidor remoto mediante SSH
Una vez que el servidor SSH está activo, puedes conectarte a él desde otro dispositivo usando el siguiente comando:
ssh usuario@direccion_ip
Por ejemplo, si tu usuario es admin y el servidor tiene la IP 192.168.1.100, el comando sería:
ssh admin@192.168.1.100
Si el puerto SSH ha sido cambiado desde el predeterminado (22) a otro número, debes especificarlo con el parámetro -p
:
ssh -p 22022 admin@192.168.1.100
Seguridad en SSH: Buenas prácticas
Para proteger tu servidor SSH de accesos no autorizados, ten en cuenta las siguientes recomendaciones:
1. Cambiar el puerto por defecto
El puerto por defecto de SSH es el 22, pero cambiarlo puede reducir ataques automatizados. Para modificarlo, edita el archivo de configuración:
sudo nano /etc/ssh/sshd_config
Busca la línea que dice #Port 22
, elimínale el símbolo #
y cámbialo por un número de puerto personalizado:
Port 22022
Guarda los cambios y reinicia el servicio SSH:
sudo systemctl restart ssh
2. Deshabilitar el acceso como root
Es recomendable impedir que el usuario root pueda acceder directamente al servidor a través de SSH. Para ello, en el mismo archivo de configuración /etc/ssh/sshd_config
, encuentra la línea:
PermitRootLogin yes
Cámbiala por:
PermitRootLogin no
Guarda los cambios y reinicia SSH.
3. Utilizar autenticación con claves SSH
El uso de claves SSH en lugar de contraseñas mejora significativamente la seguridad. Para generar un par de claves en el cliente, ejecuta:
ssh-keygen -t rsa
Luego, transfiere la clave pública al servidor con:
ssh-copy-id usuario@direccion_ip
Después de esto, podrás conectarte sin necesidad de ingresar una contraseña.
Configurar firewall para SSH
Si utilizas UFW (Uncomplicated Firewall) en Ubuntu, debes permitir conexiones SSH con:
sudo ufw allow ssh
Si has cambiado el puerto SSH, usa el nuevo puerto en el comando:
sudo ufw allow 22022/tcp
Cómo desactivar o detener el servicio SSH
Si en algún momento deseas detener SSH temporalmente, usa:
sudo systemctl stop ssh
Para deshabilitarlo y que no se inicie automáticamente en el arranque:
sudo systemctl disable ssh
Si quieres bloquear el acceso SSH en el firewall, ejecuta:
sudo ufw deny ssh
Con estos pasos, puedes administrar de manera segura un servidor SSH en Ubuntu. Desde la instalación y configuración hasta su optimización para mayor seguridad, SSH es una herramienta esencial en la administración de sistemas. Siguiendo estas prácticas recomendadas, podrás conectar y gestionar tu servidor Ubuntu de forma remota sin comprometer la seguridad.