Cambiar el puerto SSH en Linux es bastante fácil y sencillo. Como sucede con la mayoría de los paquetes que están disponibles para cualquier distribución de Linux incluyendo Ubuntu, vienen con un archivo de configuración. Modifiquemos ese archivo de configuración y actualicemos nuestro puerto a algo que no está tan comúnmente disponible.
Tabla de contenidos
Cambiar el puerto SSH en Linux y Ubuntu
El proceso es el mismo para cualquier distribución de Linux. La estructura de directorios podría ser un poco diferente, pero los nombres de los archivos seguirán siendo los predeterminados. Así que en caso de que tengas dificultades para encontrar un archivo, sólo tienes que buscarlo utilizando las herramientas de búsqueda.
En los sistemas Linux, tenemos el archivo /etc/services que enumera todos los servicios activos junto con los puertos y el tipo de conexiones. Veamos en qué puerto se está ejecutando nuestro servidor SSH.
root@HowLinux:~# grep 'ssh' /etc/services
Como puedes ver, el puerto por defecto muestra 22 aquí y el tipo de conexión es TCP. Vamos a cambiar el puerto a 2020.
Editando el archivo sshd_config
Para cambiar el puerto por defecto en el que está activo nuestro servicio ssh, editaremos el archivo de configuración del servidor ssh. El archivo /etc/ssh/sshd_config contiene los datos de configuración por defecto del servidor ssh. Ábrelo con tu editor de texto favorito.
root@HowLinux:~# nano /etc/ssh/sshd_config
Desplázate hacia abajo hasta que veas una línea que dice Port 22 que está comentada. Simplemente quita el # al principio de la línea, y edita el puerto a 2020 (o cualquier puerto en el que necesites ejecutar el servidor).
Reinicia el servidor SSH
Ahora tenemos que reiniciar nuestro servidor SSH en Linux o Ubuntu para asegurarnos de que nuestra configuración surta efecto.
root@HowLinux:~# service sshd restart
No habrá salida para este comando. Si recibe algún error, compruebe si ha escrito todo correctamente.
Verificación del cambio de puerto SSH
Utilizaremos el comando netstat en Linux para verificar en qué puerto está escuchando conexiones nuestro servidor ssh. Ejecute el siguiente comando en su sistema.
root@HowLinux:~# netstat -tlp | grep ssh
Las opciones -t y -l significan TCP y Listening. Así que estamos buscando todas las conexiones que son del tipo TCP y están escuchando activamente las conexiones entrantes. La opción -p muestra los nombres de los programas.
También estamos canalizando la salida a grep para que sólo veamos el puerto en el que se ejecuta el servidor ssh y no todos los demás servicios que se ejecutan en nuestro sistema.
¡Eso es genial! Como puedes ver, nuestro servidor ha empezado a escuchar en el puerto 2020.
Permitiendo conexiones entrantes a través del firewall en Ubuntu
Si estás usando Ubuntu, la configuración por defecto tendrá el firewall UFW instalado. Permite los puertos SSH por defecto pero no permitirá un puerto que configuramos nosotros. Vamos a añadir una regla para permitir las conexiones entrantes en el puerto 2020 con el tipo de conexión TCP.
root@HowLinux:~# ufw allow 2020/tcp
Conclusión
Ahora ya sabes cómo configurar el puerto del servidor SSH usando el archivo de configuración. Usted puede leer a través del archivo de configuración para ver si hay alguna otra configuración que desea cambiar. Aprenderemos más sobre el firewall ufw y el comando netstat en futuros tutoriales.