¿Cómo resolver los errores de 'Conexión rechazada' en la conexión SSH?

97

Tengo un Ubuntu Server 10.10 de 32 bits en mi casa. Estoy haciendo conexiones SSH desde mi PC a través de Putty.

El problema es que a veces puedo iniciar sesión sin problemas. Sin embargo, a veces me da un error como este:Network error: Connection refused.

Luego, no cambio nada, intente iniciar sesión un par de veces más, espere un momento e intente nuevamente. A veces puedo iniciar sesión, a veces no puedo. Me parece bastante aleatorio.

¿Qué puedo hacer para resolver esto?

Editar:

Y a veces, Putty da Network error: Software caused connection aborterror después de mostrar login as:texto.

Aquí está la salida ping -t:

Pinging 192.168.2.254 with 32 bytes of data:
Reply from 192.168.2.254: bytes=32 time=6ms TTL=64
Reply from 192.168.2.254: bytes=32 time=65ms TTL=6
Reply from 192.168.2.254: bytes=32 time=88ms TTL=6
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=3ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64

Apagué el firewall del enrutador, y todo parece funcionar ahora. Excepto por eso, todavía no puedo ingresar a mi servidor web escribiendo una IP externa desde mi PC.

frbry
fuente
la próxima vez se cae así; ejecute un ping nuevamente, ¿sigue funcionando? ¿Cuántas personas ssh a esta máquina?
myusuf3
Solo yo ssh este servidor.
frbry
Exactamente el mismo problema aquí, también obteniendo una combinación de conexiones exitosas (que luego funcionan durante horas), 'conexión rechazada' y 'el software causó la cancelación de la conexión' después del inicio de sesión o la entrada de contraseña. Para proporcionar algunos detalles adicionales: en mi caso, es una máquina virtual de 64 bits (que ejecuta Ubuntu Server 10.10) en un host Microsoft Hyper-V, utilizando la emulación de "tarjeta de red antigua".
hheimbuerger
¿SSH está instalado en su servidor?
Willian Soares

Respuestas:

82

Debe instalar openssh-server en Linux antes de que esto funcione. Obtenga la dirección IP interna de Ubuntu y use esa IP para configurar el reenvío de puertos en la sección del puerto 22 (SSH) de su enrutador. Aunque si no tiene la intención de SSH desde fuera de su red, esto no es obligatorio.

Aquí se explica cómo instalar openssh-server:

sudo apt-get install openssh-server openssh-client
[ENTER PASSWORD]
MacGyver
fuente
10
No responde la pregunta directamente, pero esto es útil ya que Ubuntu no viene preinstalado con el servidor SSH.
Ostati
Hace poco recibí una nueva computadora portátil y olvidé por completo que no está instalada por defecto = D
Izkata
40

El conflicto de la dirección IP resultó ser la causa raíz cuando estaba viendo este mensaje de error SSH.

Después de leer las respuestas anteriores, sospeché un conflicto de dirección IP, pero necesitaba demostrar que el conflicto de dirección era o no el problema.

Este excelente artículo mostró cómo usar arp-scan para ver si dos piezas de hardware reclamaban la misma dirección IP.

En mi caso, la máquina del servidor tenía una dirección IP estática de 192.168.1.42, utilicé arp-scan para verificar esa dirección:

$ sudo apt-get install arp-scan
$ arp-scan -I eth0 -l | grep 192.168.1.42
  192.168.1.42 d4:eb:9a:f2:11:a1 (Unknown)
  192.168.1.42 f4:23:a4:38:b5:76 (Unknown) (DUP: 2)

Efectivamente hubo un conflicto, como se muestra arriba. Luego ejecuté arp-scan sin el grep, descubrí que .43 estaba disponible, fui y lo edité /etc/network/interfacesy cambié la ip estática de .42 a .43

Rian Sanderson
fuente
En realidad, ejecutar ese comando mostró solo una línea en mi casilla, excepto que el nombre era el de otro dispositivo.
assylias
Muchas gracias por el punto en la dirección correcta sobre el conflicto de direcciones IP. Tuve un problema similar! +1
DominikAngerer
Me ahorró mucho tiempo ... felicitaciones ...
Chris Barlow
A veces, mi enrutador solo necesita reiniciarse para resolver este problema.
Gabriel Staples
14

Use arpingen la dirección IP que tiene problemas de conexión. Eso mostrará la dirección MAC para cada respuesta de ping y, con suerte, desenmascarará la dirección MAC deshonesta.

arping 192.168.2.254

Debe verificar el grupo de direcciones IP de DHCP en el servidor DHCP, asegúrese de que ningún dispositivo tenga IP estáticas que colisionen con el grupo de DHCP.

Estas pistas apuntan a duplicar IP:

  • ping ttl y el tiempo de ida y vuelta se parecen a 2 servidores distintos
  • desconexiones intermitentes sin reiniciar
John Shalamskas
fuente
¡Excelente, me señaló el camino correcto! Pude rastrearlo por la segunda dirección MAC a qué puerto estaba, y cambiar la IP de la impresora
Canadian Luke
1
Necesitaba agregar -I wlan0 (wlan0 es mi dispositivo wifi)
guhur
6

Tuve el mismo problema, aunque tenía una dirección IP estática. Resulta que a otro servidor de mi red se le había asignado la misma dirección IP (estática). (Duh.) Por lo tanto, parece que el problema es causado por conflictos de direcciones IP, pero puede haber varias formas posibles de que ocurran. Si configura el suyo como estático y todavía tiene un problema, intente apagar su máquina y hacer ping a la dirección. Si recibe alguna respuesta, comience a buscar qué más podría tener la misma dirección.

DLosc
fuente
1
Experimenté los mismos síntomas y lo rastreé hasta una máquina con la misma dirección IP que el servidor.
SabreWolfy
5

abra el archivo de configuración ssh:

sudo nano /etc/ssh/ssh_config

encuentra el puerto

#port 22

eliminar Sharp la opción de puerto

luego guarde el archivo ctrl + xy reinicie su servicio

sudo service ssh restart
Amin
fuente
4

¿Qué obtienes si haces esto?

grep 192.168.2.25 /etc/hosts.deny

Si eso devuelve algo, entonces debe eliminarlo.

Jodi Middleton
fuente
10
Ese es uno de los infames "usos inútiles de cat" - puedes simplementegrep 192.168.2.25 /etc/hosts.deny
Tobias Kienzler
@TobiasKienzler lo solucionó
wjandrea
3

Esto parece más un problema de su equipo de red que el servidor en sí.

Verifique / var / log / messages para ver si el enlace de Ethernet está arriba / abajo (o wlan en caso de conexión inalámbrica). Si es así, intente cambiar los cables.

forcefsck
fuente
Sí, intenté y logré establecer una conexión ssh desde fuera de mi red (en la que se encuentran mi servidor y mi PC). Parece que funciona bien. Mi servidor también es un servidor web. Cuando intento conectarme a través del puerto 80 desde mi PC, veo la página de inicio de sesión de mi módem ADSL. Pero cuando intento lo mismo desde otra computadora que está fuera de mi red, veo la página Apache's It Works.
viernes
¿Cuál es su IP de PC, su IP de servidor y su IP interna de router ADSL?
forcefsck
PC: 192.168.2.2 (Recibido de DHCP) Servidor: 192.168.2.254 (Estático, fuera del rango de DHCP) Enrutador ADSL: 192.168.2.1
viernes
Estoy un poco confundido, cuando te conectas desde 192.168.2.2 al puerto 192.168.2.254, obtienes el inicio de sesión del módem adsl.
forcefsck
1
A menos que haya configurado algún tipo de proxy web en su servidor, entonces claramente su módem adsl está respondiendo a las solicitudes hechas a 192.168.2.254 y probablemente ese sea el caso cuando reciba el Connection refusederror con ssh. Por lo tanto, debe volver a verificar la configuración de su módem adsl.
forcefsck
3

Puedo confirmar este problema exacto: no es un simple problema de conectividad. El enlace de ethernet no cambia de estado; el servidor es accesible a través de ping; ssh se conecta sin problemas ocasionalmente, luego aparentemente al azar no se conecta o se cae la sesión ssh existente. Esto ocurre en Ubuntu 10.04 y 11.04. Siguiendo la sugerencia de hheimbuerger, le di al servidor una IP estática, esto pareció solucionarlo.

Solución alternativa: cambie el adaptador de DHCP a estático.

Jorge
fuente
1

Tuve exactamente el mismo problema, y ​​en mi caso resultó ser un conflicto de dirección IP. Mi Ubuntu VM tenía una dirección dinámica, pero otra máquina (en este caso un teléfono) tenía una IP estática asignada que el servidor DHCP no conocía.

Simplemente cambiando la IP que fue asignada por el servidor DHCP a la VM de Ubuntu solucionó todos los problemas de conexión.

hheimbuerger
fuente
1

Básicamente se debe a cualquiera de las siguientes razones:

  1. Demasiados usuarios en la red que intentan acceder al servidor
  2. Más de una computadora en la red tiene la misma IP que el servidor que causa un conflicto de IP
  3. Nombre de usuario incorrecto o sus credenciales han sido revocadas
Mevin Babu
fuente
0

Es posible que desee verificar sus iptablesreglas en su servidor. Parece que tienes una regla para limitar las nuevas conexiones SSH.

La siguiente regla permite 5 nuevas conexiones por minuto, si excede este límite, sus nuevas conexiones serán rechazadas después de un tiempo:

-A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m limit --limit 5/min -j ACCEPT

Consulte la documentación de IPTables / Netfilter , desplácese un poco hasta limit.

Lekensteyn
fuente
0

arp-scan muestra dos dispositivos duplicados, pero cuando ejecuto el escáner IP avanzado en Win8, todos se ven bien. Entonces no siempre están de acuerdo.

Configuré el enrutador para revocar todos los arrendamientos diciéndole que otorgue solo arrendamientos de 1 hora. Le dará tiempo para ver si se aclara.

SDsolar
fuente