33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Usa el código:

BLACK33
BG40
Utilizar promoción
29.10.2024

Cómo instalar y configurar SSH

Instalar y Asegurar SSH en AlexHost VPS: Zero-Trust Setup en 2025

SSH = tu única puerta al servidor. Mal configurado = hackeado en <5 min. El VPS de AlexHost con NVMe y protección DDoS te da acceso root, puerto de 1 Gbps -perfecto para SSH endurecido. En este artículo, le guiaremos a través de cómo instalar y configurar SSH en Linux, cubriendo los conceptos básicos, opciones de configuración y recomendaciones de seguridad.


¿Qué es SSH?

SSH significa Secure Shell, y permite a los usuarios conectarse de forma segura a un sistema remoto a través de una interfaz de línea de comandos. El protocolo encripta los datos entre el cliente y el servidor, convirtiéndolo en un método seguro de comunicación, especialmente para acceder a servidores a través de una red insegura como Internet. SSH opera sobre el puerto 22 por defecto y puede ser utilizado para

  • Acceso remoto a servidores
  • Transferencia segura de archivos (mediante SCP o SFTP)
  • Ejecución remota de comandos
  • Reenvío de puertos y tunelización

Paso 1: Instalación de SSH

La mayoría de las distribuciones de Linux vienen con SSH preinstalado, pero si no lo está, puedes instalarlo fácilmente utilizando el gestor de paquetes de tu distribución

Para Ubuntu/Debian:

sudo apt update sudo apt install openssh-server

Para CentOS/RHEL:

sudo yum install openssh-server

Para Fedora:

sudo dnf install openssh-server

Para Arch Linux:

sudo pacman -S openssh

Tras la instalación, tendrá el servidor y el cliente OpenSSH instalados, lo que le permitirá tanto ejecutar un servidor SSH como conectarse a otros servidores SSH


Paso 2: Iniciar y habilitar el servicio SSH

Una vez instalado, necesita iniciar el servicio SSH (también conocido como sshd – SSH daemon) y habilitarlo para que se ejecute al inicio del sistema

Iniciar el servicio SSH:

sudo systemctl start ssh

Habilitar SSH para que se inicie al arrancar el sistema:

sudo systemctl enable ssh

Puede comprobar si SSH se está ejecutando correctamente escribiendo

sudo systemctl status ssh

Si el servicio se está ejecutando, verá un estado activo que indica que SSH está listo para aceptar conexiones


Paso 3: Configuración básica de SSH

El comportamiento de SSH es controlado por el archivo de configuración ubicado en

/etc/ssh/sshd_config

Puede editar este archivo para modificar la configuración de SSH, como cambiar el puerto predeterminado, deshabilitar el inicio de sesión de root o configurar la autenticación basada en claves. Para editar el archivo, utilice un editor de texto como nano o vim

sudo nano /etc/ssh/sshd_config

Algunos cambios de configuración comunes incluyen

1. Cambiar el puerto SSH predeterminado

Por razones de seguridad, es una buena idea cambiar el puerto SSH por defecto de 22 a otro. Esto ayuda a reducir el riesgo de ataques automatizados que tienen como objetivo el puerto SSH predeterminado. Busque la siguiente línea en el archivo de configuración

#Puerto 22

Descomente y cambie el número de puerto

Puerto 2222

Después de guardar el archivo, reinicie el servicio SSH para aplicar los cambios

sudo systemctl restart ssh

Asegúrese de actualizar las reglas de su cortafuegos para permitir conexiones en el nuevo puerto

2. Desactivar el inicio de sesión root

Permitir el inicio de sesión root a través de SSH es un riesgo de seguridad. Para evitarlo, busque la siguiente línea en el archivo de configuración

PermitRootLogin yes

Cámbiela por

PermitRootLogin no

Esto evitará el acceso directo de root a través de SSH. Los usuarios todavía pueden iniciar sesión con una cuenta normal y luego cambiar a root usando sudo o su

3. Habilitar la autenticación basada en claves

La autenticación basada en claves SSH es un método más seguro que el uso de contraseñas. Esto implica la generación de un par de claves SSH (claves pública y privada) y el uso de la clave privada para autenticar. Para aplicar la autenticación basada en claves, busque las siguientes líneas y asegúrese de que están configuradas como sí

PubkeyAuthentication yes PasswordAuthentication no

Esto desactiva el inicio de sesión basado en contraseña y sólo permite el acceso SSH a través de la autenticación basada en clave


Paso 4: Generación de claves SSH (autenticación basada en claves)

Los pares de claves SSH proporcionan una forma segura de iniciar sesión sin contraseña. A continuación se explica cómo generar y configurar claves SSH

Paso 1: Generar el par de claves SSH

En su máquina local, ejecute el siguiente comando para generar un par de claves

ssh-keygen -t rsa -b 4096

Se le pedirá que introduzca un nombre de archivo para guardar la clave (o pulse Intro para utilizar la ubicación predeterminada) y una frase de contraseña opcional para mayor seguridad. Esto crea dos archivos

  • ~/.ssh/id_rsa: Tu clave privada (mantenla segura y no la compartas).
  • ~/.ssh/id_rsa.pub: Tu clave pública (puede compartirse y añadirse a servidores remotos).

Paso 2: Copiar la clave pública al servidor

Para utilizar la clave para el inicio de sesión SSH, copie la clave pública en el servidor remoto al que desea acceder. Puede hacerlo con el comando ssh-copy-id

ssh-copy-id nombre_usuario@host_remoto

Sustituya username por el nombre de usuario de su servidor remoto y remote_host por la dirección IP o el nombre de host del servidor. Esto copiará su clave pública al servidor y la añadirá al archivo ~/.ssh/authorized_keys, permitiéndole iniciar sesión sin contraseña

Paso 3: Iniciar sesión con la clave SSH

Ahora, puede iniciar sesión en el servidor remoto utilizando su clave privada

ssh nombre_usuario@host_remoto

Si ha configurado un puerto personalizado, especifíquelo con la opción -p

ssh -p 2222 nombre_usuario@host_remoto

Paso 5: Asegurar su configuración SSH

Después de configurar SSH, es importante seguir las mejores prácticas de seguridad para asegurar que su servidor está protegido de accesos no autorizados

1. Utilice contraseñas seguras (si utiliza autenticación por contraseña)

Si no está utilizando autenticación basada en claves, asegúrese de que todas las cuentas de usuario utilizan contraseñas fuertes y complejas

2. Utilice un cortafuegos

Asegúrese de que el cortafuegos de su servidor sólo permite el tráfico en el puerto SSH que está utilizando. Por ejemplo, si ha cambiado SSH al puerto 2222, permita el tráfico en ese puerto utilizando ufw (en Ubuntu/Debian) o firewalld (en CentOS/RHEL)

sudo ufw allow 2222/tcp sudo ufw enable

3. Limitar el acceso SSH

Limite el acceso SSH a direcciones IP o rangos específicos configurando el cortafuegos o utilizando /etc/hosts.allow y /etc/hosts.deny


Paso 6: Probar y solucionar problemas de SSH

Después de configurar SSH, es importante probar su configuración. Intente iniciar sesión utilizando SSH para asegurarse de que todo funciona correctamente

Consejos comunes para solucionar problemas de SSH:

  1. Compruebe la configuración del cortafuegos: Asegúrese de que el cortafuegos no está bloqueando el puerto SSH.
  2. Compruebe el estado del servicio SSH: Asegúrese de que el servicio SSH se está ejecutando con systemctl status ssh.
  3. Compruebe la configuración: Vuelva a comprobar el archivo /etc/ssh/sshd_config por si hubiera algún error de configuración.
  4. Utilice el modo detallado para depurar: Si hay problemas, utilice la opción -v cuando se conecte para ver la salida detallada:
ssh -v nombre_usuario@host_remoto

Conclusión

Instalar y configurar SSH es una habilidad fundamental para cualquier administrador o usuario de Linux que necesite gestionar sistemas remotos de forma segura. Siguiendo esta guía, podrá instalar SSH, configurarlo para un acceso seguro e implementar las mejores prácticas para proteger su servidor de accesos no autorizados. Una vez configurado, SSH se convierte en una poderosa herramienta para la gestión remota, la automatización y la comunicación segura entre sistemas.

33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Usa el código:

BLACK33
BG40
Utilizar promoción