Cómo solucionarlo: Conexión rechazada por el puerto 22 Debian / Ubuntu

How Fix Connection Refused Port 22 Debian Ubuntu



SSH proporciona una forma segura de acceder y administrar servidores Linux. A veces, mientras se conectan a servidores SSH, los usuarios a menudo encuentran un error de Conexión rechazada por el puerto 22. Ocurre por varias razones, como el servicio SSH no se está ejecutando, el puerto está bloqueado por el firewall o el servidor está usando un puerto diferente. También puede ocurrir debido al problema del conflicto de IP. En este artículo, analizaremos algunas de las soluciones que debe probar para corregir el error.

Nota: Los comandos discutidos aquí se han probado en Ubuntu 20.04 LTS. Los mismos comandos también son válidos para el sistema Debian.







Corregir el error de conexión rechazada

Este es el error de Conexión rechazada que puede encontrar al conectarse a un sistema remoto a través de SSH.





Siga las siguientes soluciones paso a paso para resolver el error de Conexión rechazada.





Asegúrese de que OpenSSH esté instalado

Una de las razones por las que puede recibir un error de Conexión rechazada es porque el servidor OpenSSH no está instalado en el servidor de destino.

Primero, deberá asegurarse de que el servidor OpenSSH esté instalado en el sistema al que está intentando acceder a través de SSH. Para verificar si OpenSSH está instalado o no, ejecute el siguiente comando en la Terminal del servidor de destino:



$sudolista de aptos--instalado | sujeciónservidor openssh

Este comando básicamente filtra el término openssh-server de la lista de paquetes instalados. Si recibe el siguiente resultado similar, indica que el servidor OpenSSH está instalado. Por otro lado, si no recibe salida, significa que OpenSSH no está en el servidor de destino.

En caso de que no esté instalado en el servidor de destino, puede instalarlo usando el siguiente comando como sudo:

$sudoaptoInstalar en pcservidor openssh

Luego, escriba sudo contraseña y, cuando se le solicite confirmación, presione 'y'. Una vez instalado, confírmalo usando el mismo comando

$sudolista de aptos--instalado | sujeciónservidor openssh

Verificar el servicio SSH

El servicio OpenSSH se ejecuta en segundo plano y escucha las conexiones entrantes. El servicio OpenSSH detenido puede ser una de las razones por las que recibe un error de Conexión rechazada.

Por lo tanto, es necesario verificar si el servicio OpenSSH se está ejecutando o no usando el siguiente comando en Terminal:

$sudoServiciosshestado

Si ve el siguiente resultado, significa que el servicio está activo y ejecutándose en segundo plano.

Por otro lado, si recibe inactivo (muerto), eso significa que el servicio no se está ejecutando . Puede ejecutar el servicio OpenSSH usando el siguiente comando como sudo en Terminal:

$sudoServiciosshcomienzo

Para reiniciar el servicio, use el siguiente comando:

$sudoServiciosshreiniciar

Compruebe el puerto de escucha del servidor SSH

Otra razón para recibir un error de Conexión rechazada es porque está intentando conectarse al puerto incorrecto. Por ejemplo, si el servidor está configurado para escuchar en el puerto 2244 y está intentando conectarse a su puerto predeterminado 22, entonces, en este caso, recibirá un error de Conexión rechazada.

Antes de intentar conectarse, debe verificar el puerto de escucha del servidor SSH. Si es el puerto predeterminado (22), puede conectarlo usando el siguiente comando:

$ssh [nombre de usuario]@[IP del servidor remoto onombre de host]

Si se trata de un puerto que no sea el puerto predeterminado, deberá conectarse al servidor SSH mediante este puerto:

$ssh -pag [número de puerto] [nombre de usuario]@[dirección IP]

Para comprobar en qué puerto está escuchando el servidor OpenSSH; use el siguiente comando en la Terminal:

$sudo netstat -ltnp | sujeciónsshd

Recibirá un resultado similar al siguiente:

En la tercera columna, puede ver que el puerto de escucha del servidor es 2244. Si este es el caso, deberá conectarse al servidor SSH utilizando este puerto.

$ssh -pag [2244] [nombre de usuario]@[dirección IP]

Permitir SSH en el firewall

El firewall que bloquea el puerto SSH puede ser otra razón importante para el error de Conexión rechazada. Si se está ejecutando un firewall en el servidor SSH, deberá permitir el puerto SSH en él usando el siguiente comando. Reemplace la Puerto por el número de puerto que está escuchando el servidor SSH:

$sudoufw permitir puerto/tcp

Por ejemplo, si el servidor SSH está escuchando el puerto 2244, puede permitirlo en el firewall como:

$sudoufw permitir2244/tcp

Vuelva a cargar el cortafuegos con el siguiente comando:

$sudorecarga ufw

Para confirmar si se han agregado las reglas, verifique el estado del firewall usando el siguiente comando en la Terminal:

$sudoestado de ufw

El siguiente resultado muestra que el puerto 2244 está permitido en el firewall.

Resolver el conflicto de direcciones IP duplicadas

El error Conexión rechazada también puede ocurrir debido a un conflicto de direcciones IP duplicadas. Por lo tanto, asegúrese de que el sistema no tenga una dirección IP duplicada.

Instale la utilidad arping en su sistema usando el siguiente comando:

$sudoaptoInstalar en pcarping

Luego, haga ping a la dirección IP del servidor SSH.

$silbido <dirección IP>

En el resultado, si ve la respuesta de más de una dirección MAC, entonces muestra que hay una IP duplicada ejecutándose en el sistema. Si este es el caso, cambie la dirección IP del servidor SSH e intente conectarse nuevamente con la nueva dirección IP.

Así es como se corrige el error de Conexión rechazada por el puerto 22 en sistemas Linux. En este artículo, hemos descrito algunas formas que seguramente lo ayudarán a resolver el error de Conexión rechazada.