Como usar múltiples puertos SSH.
Para un sysadmin es algo común y aceptable tener la necesidad de especificar más de un puerto SSH para el demonio sshd.
Hablamos de una practica especialmente útil a la hora de depurar o implantar una seguridad adicional, sobre todo cuando el servidor o VPS está vinculado a varias direcciones IP diferentes.
El proceso es bastante simple, no se requiere de ningún tipo de conocimiento avanzado, tan solo debes estar familiarizado con la consola / terminal y algún editor de la misma (por ejemplo nano).
Vemos como proceder.
Como usar múltiples puertos SSH
Lo único que tenemos que hacer es editar el archivo de configuración «/etc/ssh/sshd_config», agregando bajo el puerto predeterminado (por defecto el 22) más puertos.
nano /etc/ssh/sshd_config
Veras algo similar a…
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
En este ejemplo agregaremos dos puertos más, el 210, y el 220.
Lo que tenemos que hacer es descomentar la linea del puerto 22 (muy importante), y agregar a continuación las de los puertos 210 y 220.
Nos quedara de esta forma…
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 22
Port 210
Port 220
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
Reiniciamos el servicio ssh.
sudo systemctl restart ssh
OJO!!!!! NO cierres la consola / terminal, primero tenemos que abrir los puertos ssh, en este caso directamente sobre iptables / nftables.
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 210 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 220 -j ACCEPT
Guardamos las nuevas reglas y reiniciamos iptables o nftables.
service iptables save
service iptables restart
Verificar los puertos SSH
Podemos verificar que los puertos están escuchando correctamente con el comando netstat y grep.
netstat -nal | grep 22
Entre las salidas podrás localizar lineas similares a:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:210 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:220 0.0.0.0:* LISTEN
Al intentar conectarnos a uno de los nuevos puertos, es posible que aparezca la siguiente advertencia:
The authenticity of host ‘[localhost]:210 ([127.0.0.1]:210)’ can’t be established.
ECDSA key fingerprint is SHA256:12efZx1MOEmlxQOWKhM5eaxDwJr4vUlLhcpElkGHTow.
Are you sure you want to continue connecting (yes/no)?
No te alarmes, solo intenta autentificar la conexión. Responde «yes».
Damos por concluido este articulo.
Espero que este articulo sea de utilidad, puedes colaborar con nosotros con una donación (paypal), o con el simple gesto de compartir los manuales en tu sitio web, blog, foro o redes sociales.