Este artículo explica cómo cambiar el puerto Secure Shell (SSH) predeterminado en un servidor CentOS® o Red Hat® Enterprise Linux®.
Abrir y editar el archivo de configuración del demonio SSH
-
Ejecute el siguiente comando para abrir sshd_config archivo:
[root@server-01 ~]# vi /etc/ssh/sshd_config
-
Utilice las teclas de flecha para desplazarse por el archivo hasta que localice el siguiente texto:
#Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ::
-
Coloque el cursor en la línea debajo de #Port 22 y presiona la i tecla para ingresar al modo de inserción .
-
Presiona Entrar tecla para crear una nueva línea y escribir
Port <Specified Port Number>
.Port 2021
es el nuevo puerto SSH en el siguiente ejemplo:#Port 22 Port 2021 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ::
-
Presiona Esc tecla para salir del modo de inserción . A continuación, salga de
vi
escribiendo:wq
y presionando Enter clave.
Vincular el demonio SSH al nuevo puerto
-
Instale las policycoreutils paquete para vincular el demonio SSH al nuevo puerto SSH usando el siguiente comando:
[root@server-01 ~]# yum install policycoreutils
-
Escribe
y
y presiona Entrar tecla para continuar con la instalación. Cuando se complete esta tarea, agregue las siguientes reglas para garantizar que el demonio SSH se vincule con el puerto especificado:[root@server-01 ~]# semanage port -a -t ssh_port_t -p tcp 2021 [root@server-01 ~]# semanage port -m -t ssh_port_t -p tcp 2021
-
A continuación, reinicie el demonio SSH:
[root@server-01 ~]# systemctl restart sshd
Verificar el enlace al nuevo puerto
Asegúrese de que los cambios de puerto hayan tenido efecto mediante el uso de netstat o ss comando como se muestra en el siguiente ejemplo:
[root@server-01 ~]# ss -tlpn| grep ssh
LISTEN 0 128 0.0.0.0:2021 0.0.0.0:* users:(("sshd",pid=28065,fd=4))
LISTEN 0 128 [::]:2021 [::]:* users:(("sshd",pid=28065,fd=6))
[root@server-01 ~]# netstat -tlpn| grep ssh
tcp 0 0 0.0.0.0:2021 0.0.0.0:* LISTEN 28065 sshd
tcp6 0 0 :::2021 :::* LISTEN 28065 sshd
Como puede ver, ambos comandos muestran que Port 2021
ahora está en su lugar.
Actualiza tu cortafuegos
Actualice su firewall para asegurarse de que las conexiones entrantes estén permitidas en el puerto recién especificado. Introduzca las dos líneas siguientes:
[root@server-01 ~]# sudo firewall-cmd --add-port=2021/tcp --permanent
success
[root@server-01 ~]# sudo firewall-cmd --remove-service=ssh --permanent
success
Port 2021
en el ejemplo.
Verificar cambio por inicio de sesión
Un intento de SSH debería devolver lo siguiente:
`ssh: connect to host 104.130.26.57 port 22: No route to host`
Ahora, usando el -p <Port Number>
opción, debería poder iniciar sesión correctamente:
ssh [email protected] -p 2021
[email protected]'s password: