Introducción
El error " Conexión rechazada " significa que la computadora no acepta solicitudes de conexión a la dirección IP y el puerto solicitados. Las solicitudes de conexión pueden estar bloqueadas por un firewall, por lo que se muestra "Conexión rechazada".
Cuando una computadora recibe una solicitud de conexión de una dirección IP y un puerto al que desea conectarse, pero el firewall está bloqueando la conexión, se muestra el mensaje de error "Conexión rechazada". "Conexión rechazada" puede deberse a que un firewall bloquea las solicitudes de conexión. En algunos casos, ninguno de los servicios está escuchando en el puerto solicitado y también provoca el error "Conexión rechazada".
El problema
Es posible que encuentre un error "Puerto 22: conexión rechazada" al conectar SSH a este sistema. Es posible que se dé cuenta de que no hay un servidor SSH ejecutándose en el sistema recién instalado.
Cómo solucionar el error "Puerto 22: Conexión rechazada".
Hay 4 razones comunes detrás de este error. Una o más de las siguientes razones pueden ser la causa del error:
- El servidor SSH no está instalado
- El servicio SSH no está activo
- El servicio SSH se está ejecutando en un puerto diferente
- El puerto SSH está bloqueado por el firewall
Analicemos todas las soluciones posibles una por una.
1. El servidor SSH no está instalado
OpenSSH se utiliza para el servicio SSH en sistemas basados en Debian. Es posible que algunos de los sistemas recién instalados no tengan el demonio SSH. Lo más probable es que cuando instale un nuevo sistema de escritorio, los paquetes de OpenSSH no se incluyan de forma predeterminada.
Puede ejecutar los siguientes comandos para instalar el servicio ssh en su sistema:
sudo apt udpate && sudo apt install openssh-server
Una vez completada la instalación, puede conectarse a su sistema en el puerto 22. Si los problemas persisten, verifique por otras razones definidas a continuación.
2. Verifique que el servicio SSH esté activo y funcionando
Normalmente, el servicio SSH se inicia automáticamente después de la instalación. Pero podría ser que el servicio se detuvo por alguna razón. Para verificar el estado actual del servicio SSH, ejecute:
sudo systemctl status ssh
Si el servicio SSH no se está ejecutando o no está activo, use los siguientes comandos para habilitar el servicio al iniciar el sistema e iniciar el servicio:
sudo systemctl enable ssh
sudo systemctl start ssh
Una vez que el servicio se haya iniciado correctamente, puede conectarse a su sistema a través de ssh. En caso de que aún encuentre el mismo error, verifique el siguiente problema posible.
3. El servicio SSH se ejecuta en un puerto diferente
Podría ser que el servicio SSH esté escuchando en un puerto diferente. Esta es también una práctica recomendada para proteger los servidores. Puede averiguar el puerto del servidor SSH ejecutando el siguiente comando:
ss -tulpn | grep ssh
El servicio SSH puede estar escuchando en el puerto 2222 o en otros puertos. Debe conectar el sistema remoto con SSH en el puerto 22. Podemos definir un número de puerto con una conexión SSH como el comando que se indica a continuación:
ssh -p 2222 [email protected]
Espero que esto resuelva tu problema. Si aún enfrenta el mismo problema, consulte el consejo a continuación.
4. El puerto SSH está bloqueado por el firewall
Esta es la causa más común de las solicitudes de bloqueo del firewall.
Ahora necesita identificar qué firewall está utilizando. Si el sistema remoto está en un alojamiento en la nube, verifique el grupo de seguridad de ese alojamiento.
En sistemas con acceso físico, puede verificar si UFW o Firewalld están activos.
- Usando UFW
Verifique el estado del firewall UFW con el siguiente comando:
sudo ufw status
Si el firewall está en un estado activo, puede abrir el puerto 22 con el comando que se indica a continuación:
sudo ufw allow 22/tcp
- Uso de FirewallD
Compruebe si el demonio firewalld está activo y funcionando:
sudo systemctl status firewalld
Si el resultado muestra Active: active (running)
, puede abrir el puerto SSH ejecutando el siguiente comando:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
Luego recarga el firewall para aplicar los cambios:
sudo firewall-cmd --reload
Conclusión
En esta publicación de blog, hemos discutido cuatro posibles problemas para el error "Puerto 22: Conexión rechazada". También proporciona soluciones para cada problema. Espero que este tutorial ayude a resolver tu problema.
Si ha encontrado alguna otra razón para este problema, menciónelo en el comentario.