Si conoce los conceptos básicos de SSH, ya sabe que SSH usa el puerto 22 de forma predeterminada.
Cuando se conecta a un servidor a través de SSH, la mayoría de las veces no proporciona ninguna información de puerto. Y en tales casos, su conexión va al puerto 22 del servidor SSH.
Puede cambiar el puerto predeterminado de 22 a un número de puerto de su elección siguiendo los siguientes pasos:
- Abra
/etc/ssh/sshd_config
archivo para editar. - Ubique la línea que tiene
Port 22
(si está comentado con #, elimine el # también). - Cambie la línea al Puerto 2522 (o cualquier número de su elección entre 1024 y 65535).
- Asegúrese de que los firewalls (si tiene alguno) permitan el nuevo puerto.
- Reinicie el demonio ssh con
sudo systemctl restart sshd
. - De ahora en adelante, deberá especificar el puerto para realizar la conexión ssh
ssh [email protected]_address_of_server -p 2522
.
Permítame mostrarle los pasos en detalle y también decirle por qué puede considerar cambiar el
¿Por qué cambiar el puerto SSH predeterminado?
Uno de los trucos más elementales para proteger el servidor SSH es cambiar el número de puerto SSH predeterminado 22.
¿Por qué? Debido a que varios scripts de bot intentan los ataques de fuerza bruta en el puerto predeterminado 22. La mayoría de estos scripts no siempre buscan puertos abiertos y apuntan a los puertos predeterminados para varios servicios conocidos como SSH.
Cambiar el puerto SSH predeterminado reduce la cantidad de tales ataques. Hay otras formas de mejorar la seguridad de su servidor SSH. Si está interesado, siga estos consejos prácticos para mejorar la seguridad del servidor SSH.
Ahora que sabe por qué cambiaría el puerto SSH predeterminado, veamos cómo hacerlo.
Permitir el tráfico en el nuevo puerto cambiando la configuración del cortafuegos
Si tiene un conjunto de firewall o ipconfig o ifconfig personalizados o si está usando selinux, debe permitir el nuevo puerto ssh antes de realizar los cambios. De lo contrario, puede bloquearse sin un acceso SSH.
Ahora bien, esta parte depende del tipo de firewall o enrutamiento que esté utilizando.
Si usa UFW, puede usar el siguiente comando para permitir el puerto 2522:
sudo ufw allow 2522/tcp
Si está usando iptables, debe usar este comando:
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 2522 -j ACCEPT
En Fedora, CentOS, Red Hat, el firewall está administrado por firewalld y puede usar este comando:
sudo firewall-cmd --permanent --zone=public --add-port=2522/tcp
sudo firewall-cmd --reload
En CentOS y Red Hat, es posible que también deba cambiar las reglas de SELinux:
sudo semanage port -a -t ssh_port_t -p tcp 2522
Ahora que ha establecido la configuración de firewall correcta, pasemos a cambiar el puerto SSH.
Cambiando el puerto SSH predeterminado
Por lo general, el archivo de configuración de ssh se encuentra en /etc/ssh/sshd_config
. Tendrá que usar un editor basado en terminal como Vim, Nano o Emacs para editar el archivo.
Las distribuciones como Ubuntu tienen Nano instalado de forma predeterminada, por lo que puede usarlo para abrir el archivo en modo de edición de esta manera:
sudo nano /etc/ssh/sshd_config
Como puedes ver, tendrás que ser usuario sudo o root para editar la configuración de ssh.
Desplácese un poco hacia abajo y verá una línea con Port 22
. Si comienza con #
, significa que la línea está comentada. Las líneas comentadas le brindan la configuración predeterminada.
Entonces, si ve # Port 22
, significa que el puerto predeterminado es 22.
Cambie esta línea con un número de puerto de su elección. En Linux, el número de puerto 0-1023 generalmente se reserva para varios servicios. Será bueno evitar usar cualquier cosa entre 0 y 1023 para evitar conflictos.
Puede usar cualquier otro número de puerto entre 1024 y 65535. Estoy usando 2522 en el ejemplo. Asegúrate de eliminar el #
antes de la línea del Puerto.
Guarde sus cambios y salga del editor. Si está usando Nano, use Ctrl+X para guardar y salir.
El siguiente paso es reiniciar el servicio ssh. La mayoría de los sistemas modernos utilizan servicios systemd, por lo que puede utilizar el siguiente comando:
sudo systemctl restart sshd
Ahora, si desea acceder al servidor SSH, deberá especificar el número de puerto:
ssh [email protected]_address_of_server -p 2522
¿Fue útil?
Espero que este tutorial le resulte útil para cambiar el puerto SSH. Ahora que ha cambiado el puerto, tendrá que usarlo todo el tiempo que quiera conectarse al servidor a través de SSH y eso podría ser molesto.
Es por eso que recomiendo usar el archivo de configuración SSH para guardar la configuración para un acceso fácil y rápido.