Cómo instalar SSH en Rocky Linux 9 u 8

SSH (Secure Shell) es un protocolo seguro que se utiliza para acceder y administrar de forma remota servidores Linux. Proporciona comunicación cifrada, garantizando la seguridad de los datos transferidos entre el cliente y el servidor. SSH es una herramienta fundamental para administradores y desarrolladores de sistemas, que les permite realizar diversas tareas, como ejecutar comandos, transferir archivos y administrar servicios de red de forma segura a través de una red no segura.

Para configurar SSH en Rocky Linux 9 u 8, puede seguir un proceso de instalación sencillo utilizando los repositorios predeterminados. Esta guía lo guiará a través de los pasos de instalación y brindará consejos sobre la configuración inicial para mejorar la seguridad y la usabilidad.

Actualice Rocky Linux antes de la instalación de SSH

Antes de instalar y configurar SSH en Rocky Linux, es fundamental asegurarse de que los paquetes de su sistema estén actualizados. Esto no sólo garantiza operaciones más fluidas sino que también minimiza posibles conflictos de software.

Para actualizar su sistema Rocky Linux, use el comando:

sudo dnf upgrade --refresh

Instale SSH mediante el comando DNF

El siguiente paso consiste en verificar si el servidor OpenSSH ya está en su sistema Rocky Linux. Esto se puede comprobar ejecutando el comando:

rpm -qa | grep openssh-server

Este comando devolverá un resultado relevante si el servidor OpenSSH está instalado. Si no hay resultados, indica la ausencia del servidor OpenSSH en su sistema. Para solucionar este problema e instalar el servidor OpenSSH, utilice el siguiente comando:

sudo dnf install openssh-server

Habilitar el servicio SSH (SSHD)

Después de instalar con éxito el servidor OpenSSH, es imperativo habilitar el servicio SSHD dentro del marco systemd. Esto garantiza que el demonio SSH se inicialice automáticamente después de cada reinicio del sistema. Para lograr esto, ejecute el comando:

sudo systemctl enable sshd

Con el servicio SSHD ahora configurado para iniciarse automáticamente, puede iniciar manualmente el servidor SSH usando:

sudo systemctl start sshd

Para fines de verificación y para garantizar que el servidor SSH se esté ejecutando sin problemas, puede verificar su estado con:

sudo systemctl status sshd

Para confirmar que el puerto predeterminado (22) ahora está escuchando activamente las conexiones SSH entrantes, ejecute:

sudo ss -lt

Conéctese a un servidor remoto a través de SSH en Rocky Linux 9 u 8

Con SSH configurado adecuadamente en su sistema Rocky Linux, ahora puede establecer conexiones a servidores remotos. Aquí hay un desglose detallado de cómo utilizar SSH para varios escenarios de conexión:

Conexión mediante autenticación de contraseña con SSH en Rocky Linux

Para establecer una conexión a un servidor remoto usando SSH con autenticación basada en contraseña, emplee el comando:

ssh username@remote_server

Aquí, reemplace "nombre de usuario" con su nombre de usuario real y "servidor_remoto" con la dirección IP o el nombre de host del servidor remoto deseado. Tras la ejecución, se le pedirá que ingrese su contraseña para la autenticación.

Conexión mediante autenticación de clave pública con SSH

SSH ofrece autenticación de clave pública para quienes prefieren un método de conexión más seguro. Para conectarse usando este método, el comando es:

ssh -i /path/to/private_key username@remote_server

En este comando, reemplace “/ruta/a/clave_privada” con la ruta que conduce a su archivo de clave privada. De manera similar, reemplace "nombre de usuario" con su nombre de usuario y "servidor_remoto" con la dirección IP o el nombre de host del servidor remoto. Este método evita la necesidad de ingresar una contraseña y, en cambio, confía en la clave privada proporcionada para la autenticación.

Especificación de un puerto alternativo para la conexión con SSH

Si bien SSH utiliza de forma predeterminada el puerto 22 para las conexiones, algunos servidores remotos pueden operar en puertos diferentes. Para especificar un puerto alternativo durante la conexión, utilice:

ssh -p 2222 username@remote_server

En este ejemplo, reemplace "2222" con el número de puerto que utiliza el servidor remoto.

Transferencia segura de archivos con SCP con SSH

SCP, o Secure Copy, es una potente utilidad de línea de comandos que facilita la transferencia segura de archivos entre sistemas a través de SSH. Para transferir un archivo desde su sistema Rocky Linux local a un servidor remoto, el comando es:

scp /path/to/local/file username@remote_server:/path/to/remote/directory

Reemplace “/ruta/a/local/archivo” con la ruta del archivo que desea transferir. De manera similar, ajuste "nombre de usuario" a su nombre de usuario, "servidor_remoto" a la dirección IP o nombre de host del servidor remoto, y "/ruta/al/directorio/remoto" a la ruta del directorio en el servidor remoto donde desea colocar el archivo transferido. archivo.

Configurar SSH en Rocky Linux

Optimizar la configuración SSH puede mejorar la seguridad y el rendimiento de su servidor. El archivo de configuración SSH, ubicado en /etc/ssh/sshd_config, contiene varios parámetros que se pueden ajustar para satisfacer necesidades específicas. Si bien las siguientes configuraciones son meros ejemplos, pueden resultar beneficiosas dependiendo de la configuración de su servidor o escritorio.

Deshabilitar la autenticación GSSAPI para SSH

La autenticación GSSAPI, si bien es útil, a veces puede provocar retrasos durante el establecimiento de la conexión SSH. Para mitigar esto, puede desactivarlo agregando la siguiente línea al archivo de configuración SSH:

GSSAPIAuthentication no

Modificación de los tiempos de espera de las sesiones SSH para SSH

Ajustar los tiempos de espera de las sesiones puede ayudar a gestionar las sesiones SSH inactivas. Para configurar el servidor para que envíe un mensaje de mantenimiento cada 5 minutos y finalice la sesión si dos mensajes consecutivos quedan sin respuesta, agregue:

ClientAliveInterval 300
ClientAliveCountMax 2

Prohibir el inicio de sesión raíz para SSH

Para mejorar la seguridad, especialmente contra ataques de fuerza bruta, es recomendable desactivar el inicio de sesión como root. Esto se puede lograr con:

PermitRootLogin no

Implementación de autenticación de clave pública para SSH

La autenticación de clave pública ofrece una alternativa más segura a los métodos basados ​​en contraseñas. Para configurar esto, primero debe generar un nuevo par de claves SSH:

ssh-keygen -t rsa -b 4096

A continuación, transfiera la clave pública al servidor remoto deseado:

ssh-copy-id user@remote_server

Asegúrese de reemplazar "usuario" con su nombre de usuario y "servidor_remoto" con la dirección IP o el nombre de host apropiado. Por último, habilite la autenticación de clave pública en la configuración SSH:

PubkeyAuthentication yes

Restricción del acceso SSH para SSH

Puede limitar el acceso SSH a usuarios o grupos específicos para mayor seguridad. Para implementar esto, agregue:

AllowUsers user1 user2
AllowGroups group1 group2

Reemplace los marcadores de posición con los nombres de usuario o nombres de grupos reales a los que desea otorgar acceso.

Modificación del puerto SSH para SSH

SSH, de forma predeterminada, opera en el puerto 22. Dada su notoriedad, cambiar este puerto puede disuadir intentos de acceso no autorizados. Para asignar un nuevo puerto, utilice:

Port <port_number>

Es recomendable seleccionar un número de puerto entre 1024 y 65535 que no esté ocupado por otro servicio.

SSH seguro con Firewalld

Garantice el acceso ininterrumpido cuando trabaje con un VPS o un entorno de servidor remoto. Antes de realizar cambios en Firewalld, especialmente si accede al sistema de forma remota, es imperativo incluir su dirección IP en la lista blanca. De lo contrario, es posible que, sin darse cuenta, se le bloquee el acceso al servidor después de aplicar los cambios en el firewall.

Para incluir su dirección IP en la lista blanca en Firewalld, use el siguiente comando:

sudo firewall-cmd --permanent --add-source=<your_ip_address>

Reemplazar con su dirección IP real.

Una vez que su dirección IP esté en la lista blanca, puede incorporar de forma segura el servicio SSH en Firewalld:

sudo firewall-cmd --add-service=ssh --permanent

Luego de realizar los ajustes necesarios, aplique la nueva configuración de Firewalld:

sudo firewall-cmd --reload

Para verificar la inclusión del servicio SSH en Firewalld, ejecute lo siguiente:

sudo firewall-cmd --list-services | grep ssh

Este comando confirmará si el servicio SSH está debidamente permitido a través del firewall, garantizando que sus conexiones remotas permanezcan seguras y accesibles.

Conclusión

Con SSH instalado y configurado correctamente en su sistema Rocky Linux, puede administrar su servidor de forma remota y segura. Actualice periódicamente sus configuraciones de SSH y aplique las mejores prácticas para mantener la seguridad. Si sigue los consejos de configuración inicial, garantizará una experiencia de administración remota más segura y eficiente. Disfrute de las sólidas capacidades que ofrece SSH para una administración segura de servidores.

Joshua James
Sígueme
Últimas entradas de Joshua James (ver todo)

Deja un comentario