Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

SSH es un protocolo de red que le permite acceder y administrar de forma segura un sistema remoto a través de una red. Al conectarse a una máquina remota a través de SSH, es posible que haya encontrado el error "conexión rechazada". Experimentar este problema puede ser frustrante, especialmente si es un administrador del sistema y tiene que realizar algunas tareas en el sistema remoto con urgencia.

Veamos algunas de las posibles causas de obtener el error SSH "conexión rechazada" y los métodos para resolverlo.

1. Comprobar si hay un servidor SSH instalado

Una posible causa del error "conexión rechazada" es que la máquina remota no se está ejecutando un servidor SSH. Sin el servidor SSH, la máquina no aceptará conexiones SSH entrantes y no podrá acceder a él de forma remota.

Entonces, el primer paso para solucionar el error es verificar si hay un servidor SSH instalado en la máquina remota. Use el siguiente comando para verificar la instalación del servidor SSH:

instagram viewer

En distribuciones basadas en Debian:

dpkg --lista | grep ssh

En distribuciones basadas en RHEL:

lista yum instalada | grep ssh

En openSUSE:

búsqueda de zypper -i | grep ssh

En distribuciones basadas en Arch:

pacman -Q | grep ssh

Si el servidor SSH está instalado en la máquina remota, lo verá en la lista de resultados. De lo contrario, debe instalar el servidor OpenSSH en la máquina remota desea acceder a través de SSH. OpenSSH es una versión de código abierto de las herramientas SSH para acceder y controlar sistemas de forma remota.

Para instalar el servidor OpenSSH, use los siguientes comandos:

En distribuciones basadas en Debian:

sudo apt install abre el servidor sh

En distribuciones basadas en RHEL:

sudo yum install abre el servidor sh

En openSUSE:

sudo zypper instalar abresh

En distribuciones basadas en Arch:

pacman -S abresh

2. Comprobar el estado del servicio SSH

Otra razón para obtener el error de "conexión rechazada" puede ser que el servicio SSH esté deshabilitado o no se esté ejecutando en la máquina remota. Una vez que esté seguro de que el servidor SSH está instalado, lo segundo que debe verificar es el estado del servidor.

sudo systemctl estado sshd

Si el servicio está en funcionamiento, la salida lo indicará como activo (corriendo). De lo contrario, verás algo como inactivo (muerto).

Si el servidor SSH no se está ejecutando, puede iniciarlo manualmente con el siguiente comando:

sudo systemctl iniciar sshd

También puede habilitar el servicio para que se inicie automáticamente al arrancar con:

sudo systemctl habilitar sshd

3. Compruebe el puerto SSH

De forma predeterminada, el servidor SSH se ejecuta en el puerto 22. Sin embargo, se puede cambiar el puerto predeterminado. Por lo tanto, si recibe el error SSH "conexión rechazada", puede deberse a que está intentando conectarse al servidor SSH en el puerto predeterminado 22 mientras se ejecuta en un puerto diferente.

Puede use el comando netstat con grep para encontrar el puerto en el que escucha el servidor SSH:

sudo netstat-plntu | grep ssh

También puede encontrar el puerto SSH desde el sshd_config archivo usando el siguiente comando:

puerto grep /etc/ssh/sshd_config

Después de identificar el puerto SSH correcto, intente conectarse a su sistema remoto usando ese puerto específico.

4. Compruebe el cortafuegos de su sistema

La mayoría de los problemas de conectividad ocurren debido a que el firewall de su máquina bloquea algunos puertos o servicios. Si la máquina remota tiene el servidor SSH instalado y en ejecución, el siguiente paso es verificar su firewall.

Para averiguar si el cortafuegos está bloqueando la conexión, deshabilite temporalmente el cortafuegos usando los siguientes comandos:

En distribuciones de Linux basadas en Debian y Arch:

sudo ufw deshabilitar

En distribuciones basadas en RHEL y openSUSE:

sudo systemctl deshabilitar firewalld

Si el error no aparece después de deshabilitar el firewall, significa que el firewall estaba bloqueando la conexión. En este caso, vuelva a habilitar el firewall y agregue una regla que permita SSH.

En las distribuciones de Linux basadas en Debian y Arch, use el siguiente comando para permitir SSH en el cortafuegos UFW:

sudo ufw permitir ssh

Alternativamente, también puede permitir SSH por el número de puerto en el firewall. Digamos que el servidor SSH está usando el puerto 5555, luego usaría el siguiente comando para permitirlo en el firewall:

sudo ufw permitir 5555

Para verificar si la regla se agregó correctamente, verifique el estado de UFW:

sudo ufw estado

En distribuciones basadas en RHEL y openSUSE, use el siguiente comando para permitir SSH en el firewall:

sudo firewall-cmd --permanente --add-service=ssh

Para permitir SSH por número de puerto, use el siguiente comando:

sudo firewall-cmd --permanent --add-port={puerto}/tcp

Para un servidor SSH que se ejecuta en el puerto 4444, el comando sería:

sudo firewall-cmd --permanente --add-port=4444/tcp

Para verificar la adición exitosa de la regla en el firewall, ejecute:

sudo cortafuegos-cmd --listar-todos

5. Resolver conflictos de direcciones IP

También existe la posibilidad de que se produzca el error SSH "conexión rechazada" debido a que la IP del servidor SSH está en conflicto con la IP de otro sistema en la red. Esto sucede cuando dos sistemas en una red afirman tener la misma dirección IP, lo que resulta en un conflicto de ip.

Para confirmar si hay un conflicto de IP en su red, use la herramienta arp-scan de la siguiente manera:

arp-scan [id-red]

Si hay un conflicto de IP, verá la dirección IP duplicada en la salida. La siguiente captura de pantalla es un ejemplo de un conflicto de IP en una red:

Para evitar conflictos de IP, asegúrese de que ningún dispositivo tenga direcciones IP estáticas que se superpongan con las direcciones del grupo DHCP.

Sugerencia adicional: ejecute SSH en modo detallado

Siempre que encuentre un error de SSH, intente ejecutar el comando ssh en modo detallado para localizar el problema. Para ejecutar SSH en modo detallado, use el comando ssh con el -vvv opción de la siguiente manera:

ssh -vvv usuario@dirección_ip

En el modo detallado, verá mensajes de depuración en cada paso de la conexión que lo ayudarán a comprender dónde radica el problema.

Solución de problemas del error SSH "Conexión rechazada" en Linux

Al identificar las posibles causas del error de conectividad de SSH e implementar las soluciones sugeridas, podrá solucionar y resolver el error de "conexión rechazada" de SSH. Además de estos pasos, asegúrese de conectarse a la dirección IP correcta y utilizar las credenciales de inicio de sesión correctas.

Para que su conexión remota sea más segura, puede configurar la autenticación de dos factores para SSH en Linux.