El protocolo SSH (Secure Shell) es un protocolo que nos da la oportunidad de establecer una conexión remota con otro equipo de una manera eficaz, simple pero a la vez lo más segura posible.
Básicamente SSH nos ofrece una comunicación cifrada segura entre dos equipos que no son de confianza y que la transferencia de datos ser realiza en una red insegura, ssh se conecta e inicia sesión en el destino usando una sintaxis de [usuario @] nombre de host y nombre de host [: puerto].
Existen diversos parámetros para el uso de SSH y Solvetic explicará la forma más sencilla para configurar SSH en CentOS 9 Stream y poder establecer la conexión desde otro equipo en este caso desde Windows 11.
1. Cómo configurar servidor SSH en CentOS 9 Stream
En CentOS 9 Stream abrimos la terminal:
En la terminal comprobamos el estado de SSH con el comando:
rpm -qa | grep ssh
Vemos que SSH está integrado en CentOS 9 Stream a través de OpenSSH, OpenSSH es un grupo de protocolos SSH gratuito que añade cifrado para los servicios de red específicos de SSH, dentro de sus características encontramos:
- Es de código abierto
- Diversos métodos de criptografía como AES, ChaCha20, RSA, ECDSA, Ed25519, etc
- El cifrado se inicia antes de la autenticación y en ningún momento se transmiten contraseñas o información delicada
- Reenvío de puertos
- Reenvío X11 para cifrar el tráfico del sistema X Window
- Se permite el reenvío de conexiones TCP/IP a una máquina remota usando un canal cifrado
- Autenticación a través de claves públicas o contraseñas de un solo uso
- Reenvío de agentes
- Soporte de servidor y cliente SFTP
- Compresión de datos si es necesario
Una vez validemos SSH en CentOS 9 Stream, iremos a la ruta:
cd /etc/sshAllí listamos el contenido con "ls":
Editaremos el archivo de configuración con la siguiente orden:
nano /sshd_configEs posible usar el editor deseado, veremos lo siguiente en el archivo de configuración:
En primer lugar ubicamos la línea Port:
Desmarcamos la línea "port" y establecemos un nuevo puerto por seguridad ya que por defecto es el puerto 22 y un atacante puede aprovechar este valor predeterminado:
Ahora desmarcamos la línea "ListenAddresses" y asignamos la IP de CentOS 9 Stream:
Ahora ubicamos la línea PermitRootLogin:
Desmarcamos la línea "PermitRootLogin" y asignamos el valor "No":
El fin de esto es evitar el acceso con el usuario root por motivos de los permisos de este usuario en el sistema.
Desmarcamos la línea "MaxAuthTries" y asignamos el valor deseado de intentos de inicios de sesión:
Guardamos los cambios con Ctrl + O y salimos del editor con las teclas Ctrl + X.
Iniciamos el servicio de SSH:
systemctl start sshd
En Windows, abrimos CMD:
Liberamos la dirección IP con el comando:
ipconfig /release
Ahora renovamos la IP con la orden:
ipconfig /renew
Esto lo hacemos con el fin de que la IP de Windows 11 este en el mismo segmento de red de CentOS 9 Stream.
Hacemos ping a la IP de CentOS 9 Stream para comprobar que se comunican entre sí:
ping IP_CentOS
Ahora, después de esto , abre PowerShell como administrador:
Establecemos la conexión por SSH con CentOS usando la sintaxis:
ssh usuario@IP -p #puerto
En caso de ver que la conexión es rechazada te enseñaremos como corregir el error, en CentOS 9 Stream, detén el Firewall:
systemctl stop firewalld
Luego accede al archivo de configuración sshd_config y modifica el puerto suado:
Guarda los cambios con las teclas Ctrl + O y sal del editor con las teclas Ctrl + X.
Reinicia el servicio SSH:
systemctl restart sshd
Usamos un editor con la siguiente sintaxis:
nano /etc/selinux/configAllí establecemos el valor “disabled” en el campo “SELINUX:
Aplica los cambios.
Detén el servicio del Firewall:
systemctl stop firewalld
Ejecuta:
setenforce 0
Después de esto inicia de nuevo SSH:
sysemctl start sshdEn Windows 11, vamos de nuevo a PowerShell e iniciamos sesión por SSH usando el nuevo puerto:
Ingresamos "yes" y luego ingresamos la contraseña para establecer la conexión:
Allí habremos iniciado por SSH en CentOS 9 Stream, allí podemos usar “ls” para listar el contenido:
Ejecutamos “ip a” para ver que la IP usada es la de CentOS 9 Stream:
Con “exit” salimos de SSH:
Esta es la manera como podemos instalar SSH en CentOS 9 Stream y configurarlo para que desde otros equipos se pueda establecer una conexión segura para realizarlos trabajos que sean permitidos a trava de este protocolo pero con las mejores opciones de seguridad.