De repente (léase: sin cambiar ningún parámetro) mi netbsd virtualmachine comenzó a actuar de manera extraña. Los síntomas se refieren a túneles ssh.
Desde mi laptop lanzo:
$ ssh -L 7000:localhost:7000 user@host -N -v
Luego, en otro caparazón:
$ irssi -c localhost -p 7000
La depuración ssh dice:
debug1: Connection to port 7000 forwarding to localhost port 7000 requested.
debug1: channel 2: new [direct-tcpip]
channel 2: open failed: connect failed: Connection refused
debug1: channel 2: free: direct-tcpip: listening port 7000 for localhost port 7000, connect from 127.0.0.1 port 53954, nchannels 3
Intenté también con localhost: 80 conectarse al servidor web (remoto), con resultados idénticos.
El host remoto ejecuta NetBSD:
bash-4.2# uname -a
NetBSD host 5.1_STABLE NetBSD 5.1_STABLE (XEN3PAE_DOMU) #6: Fri Nov 4 16:56:31 MET 2011 root@youll-thank-me-later:/m/obj/m/src/sys/arch/i386/compile/XEN3PAE_DOMU i386
Estoy un poco perdido Intenté ejecutar tcpdump
en el host remoto, y vi estos 'chksum malos':
09:25:55.823849 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 67, bad cksum 0 (->3cb3)!) 127.0.0.1.54381 > 127.0.0.1.7000: P, cksum 0xfe37 (incorrect (-> 0xa801), 1622402406:1622402421(15) ack 1635127887 win 4096 <nop,nop,timestamp 5002727 5002603>
Traté de reiniciar el demonio ssh en vano. Todavía no he reiniciado, tal vez alguien aquí pueda sugerir otros diagnósticos. Creo que podría ser el controlador de la tarjeta de red virtual o alguien rooteó nuestro ssh.
Ideas ..?
networking
ssh
connection
netbsd
lorenzog
fuente
fuente
$ ssh -L 7000:127.0.0.1:7000 user@host -N -v -v
. (Puede usar "-v" hasta 3 veces para aumentar la verbosidad). Además, ¿es posible que ssh se haya actualizado recientemente?ssh -L 7000... -N -v -v
(dos v) ossh -L 7000... -N -v -v -v
.Respuestas:
Problema resuelto:
... aparentemente, ' host local ' no era del agrado del host remoto. Sin embargo, el control remoto
/etc/hosts
contiene:mientras que la interfaz de red local es
Suspiro. tanto por la generosidad de 100rp que puse :)
fuente
Aunque el problema de OP ya se resolvió, decidí compartir la solución para mi problema, porque recibí el mismo mensaje de error de ssh y no encontré ninguna solución en otros sitios.
En mi caso, tuve que conectarme al servicio que solo escucha en IPv6. Lo intenté:
y algunas otras formas pero no funcionó. Cualquier intento de conexión a
http://localhost:51005
causa errores como este:channel 2: open failed: connect failed: Connection refused
La solucion es:
La dirección IPv6 debe estar entre corchetes.
fuente
Primero intentaría esto.
Puede usar "-v" hasta 3 veces para aumentar la verbosidad.
Creo que este mensaje de error puede surgir si un firewall bloquea el puerto 7000, pero ya lo ha descartado. (Si los lectores posteriores no lo han descartado, mire la salida de
netstat --numeric-ports
).Yo creo que podría haber visto este mensaje de error hace mucho tiempo, cuando ssh tenido conocimiento de las direcciones IPv6 después de una actualización. Podría estar equivocado sobre eso. Si tiene ganas de experimentar, puede probar la dirección de bucle invertido IPV6 "0: 0: 0: 0: 0: 0: 0: 1" (o ":: 1").
fuente
"... aparentemente, 'host local' no era del agrado del host remoto. Sin embargo, remoto / etc / hosts contiene:"
Excepto que estaba ejecutando ssh en el cliente, por lo que 'localhost' no fue del agrado de su cliente. El archivo remoto / etc / hosts es para los de conexión remota a cabo no entrantes conexiones.
fuente
Encontré este mismo error al intentar conectarme a mysql en otro servidor a través de un túnel ssh. Descubrí que el parámetro bind-address en /etc/my.cnf en el servidor de destino estaba vinculado a mi ip externa (servidor NIC dual) en lugar de interna, para lo cual no tenía uso.
Cuando configuré bind-address = 127.0.0.1, pude usar con éxito mi túnel ssh de la siguiente manera:
fuente
Encontré este error cuando reenviaba puertos con un nombre de dominio completo en lugar de localhost:
El puerto se estaba abriendo solo para localhost, por lo que para aceptar conexiones con un nombre completamente calificado, tuve que agregar una descripción de puerto vinculante :
lo que permitiría conexiones desde cualquier lugar (por lo que no es tan seguro, úselo con moderación).
fuente
Para mí, agregar ":" funciona de manera que el comando en su caso se vería así:
fuente
???
No
user@host
hay nada que escuche el puerto 7000, eso es simple y eso es todo.fuente
Recibí el mismo mensaje de error:
Y la causa fue un error humano: yo tratando de acceder a un puerto diferente en el host remoto que el que especifiqué.
Solo pensé en compartirlo, aunque probablemente esta no sea la razón por la cual la mayoría de ustedes está experimentando este error.
fuente
Para mí, estaba intentando
ssh -L <port>:<remote server IP>:<port> <login>@<remote server IP>
cuando debería haber estado haciendossh -L <port>:127.0.0.1:<port> <login>@<remote server IP>
.¡Espero que esto ayude a alguien!
fuente
La interpretación alternativa es, en mi caso, que estás escribiendo mal.
Lo que sucede aquí es que la dirección IP tiene demasiados ceros, por lo que no es una dirección válida. Entonces, ssh lo trata como un nombre de dominio que no puede resolver. ¡Uy!
PD: Complemento esto para que tengamos una lista completa de posibles problemas al solucionar los mismos síntomas.
fuente