Cómo cambiar el puerto SSH en un servidor Linux o Unix

Soy nuevo administrador de un servidor Linux/Unix. ¿Cómo cambio el puerto SSH para mi servidor Linux o Unix usando la opción de línea de comandos?

Puedes cambiar fácilmente el puerto SSH para tu servidor Linux o Unix. El puerto SSH está definido en el archivo sshd_config. Este archivo está ubicado en la ubicación /etc/ssh/sshd_config.

Procedimiento para cambiar el puerto SSH para un servidor Linux o Unix

  1. Abre la terminal y conéctate a tu servidor a través de SSH.
  2. Localiza el archivo sshd_config escribiendo el comando find.
  3. Edita el archivo del servidor sshd y configura la opción Port.
  4. Guarda y cierra el archivo
  5. Reinicia el servicio sshd para cambiar el puerto ssh en Linux.

Busca el archivo sshd_config escribiendo el siguiente comando

Resultados de muestra:

El comando find intenta localizar el archivo de configuración del servidor sshd llamado sshd_config. Agrega 2&gt/dev/null al final para ocultar del comando find mensajes de permiso denegado, de advertencia/spam.

Edita el archivo y configura la opción de Port

Escribe el siguiente comando:

Localiza la línea que dice lo siguiente:

O

Para configurar el puerto en 2222, ingresa:

Debes guardar y cerrar el archivo. Ten en cuenta que los números de puerto 0-1023 están reservados para varios servicios del sistema. Por lo tanto, te recomiendo elegir números de puerto entre 1024 y 65535. Aquí hay una lista común de servicios privilegiados y puertos designados como conocidos:

Puerto Protocolo Servicio
20 tcp ftp-data
21 tcp Servidor ftp
22 tcp Servidor ssh
23 tcp Servidor telnet
25 tcp Servidor de correo electrónico
53 tcp / udp Servidor de nombres de dominio
69 udp Servidor tftp
80 tcp Servidor HTTP
110 tcp / udp Servidor POP3
123 tcp / udp Servidor NTP
443 tcp Servidor HTTPS

Usa el comando cat/comando grep/comando egrep para ver la lista de servicios de red de internet:

Una nota sobre los usuarios de SELinux

Debes escribir el siguiente comando para cambiar el puerto a 2222:

Actualización del firewall para aceptar el puerto SSH 2222 en Linux

Si estás utilizando UFW en Ubuntu/Debian Linux, escribe:

La sintaxis para iptables es la siguiente:

La sintaxis para el firewall pf es la siguiente (FreeBSD/OpenBSD/NetBSD Unix) en tu pf.conf:

Para abrir el nuevo puerto, ejecuta los siguientes comandos en Fedora/CentOS/RHEL/Oracle Linux usando FirewallD

Advertencia: Debes actualizar la configuración de tu firewall para aceptar un nuevo puerto. De lo contrario, el siguiente comando bloqueará tu acceso SSH.

Reiniciar el servicio sshd

Escribe el siguiente comando en CentOS/RHEL/Fedora Linux:

En caso de que estés usando CentOS/RHEL/Fedora Linux con systemd:

O si estás usando Ubuntu/Debian/Mint:

Si estás usando Ubuntu/Debian/Mint con systemd:

O si estás utilizando FreeBSD Unix, ingresa:

Cómo verificar que el puerto TCP 2222 está abierto

Debes usar el comando netstat o el comando ss:

Cómo usar el nuevo puerto SSH con línea de comandos

La sintaxis es:

Por ejemplo:

Conclusión

En este post hemos explicado cómo cambiar el puerto SSH tanto en sistemas Linux como en Unix, incluida la opción de línea de comandos ssh para conectar el servidor. Para obtener más información, consulta los siguientes recursos:

Comprendiendo el proceso de cifrado y conexión de SSH

Cómo configurar claves SSH

La guía definitiva para asegurar SSH