Pregunta Sin solicitud de inicio de sesión de Telnet cuando se usa sobre el túnel SSH


Tengo un dispositivo, llamémoslo d1, ejecutando un Linux liviano. Este dispositivo está NATed por mi caja de internet / enrutador, por lo tanto no accesible desde Internet. Ese dispositivo ejecuta un daemon telnet y solo tiene root como usuario (sin pwd). Su dirección IP es 192.168.0.126 en la red privada.

Desde la red privada (digamos 192.168.0.x), puedo hacer:

telnet 192.168.0.126

Donde 192.168.0.126 es la dirección IP en la red privada. Esto funciona correctamente

Sin embargo, para permitir la administración, necesitaría acceder a ese dispositivo desde fuera de esa red privada. Por lo tanto, creé un túnel SSH como este en d1:

ssh -R 4455:localhost:23 ussh@s1

s1 es un servidor en algún lugar de la red privada (pero solo para fines de prueba, terminará en algún lugar de Internet), ejecutando una distribución Linux estándar y en la que creé un usuario llamado 'ussh'. s1 La dirección IP es 192.168.0.48.

Cuando 'telnet' con lo siguiente, digamos desde c1, 192.168.0.19:

telnet -l root s1 4455

Yo obtengo :

Trying 192.168.0.48...
Connected to 192.168.0.48.
Escape character is '^]'.
Connection closed by foreign host

.

La conexión se cierra después de aproximadamente 30 segundos y no inicié sesión. Intenté sin el modificador -l, sin éxito. Intenté 'telnet' con direcciones IP en lugar de nombres para evitar problemas DNS inversos (aunque agregué a d1 / etc / hosts una línea que se refiere a s1 IP / nombre, por si acaso), no tuve éxito. Intenté en otro puerto que 4455, sin éxito.

Reuní los registros de Wireshark de s1. Puedo ver :

s1 envía datos SSH a c1, c1 ACK
s1 realiza una solicitud de DNS de AAAA para c1, obtiene solo los servidores de nombres Authoritave.
s1 realiza una solicitud de DNS A y luego obtiene la dirección IP de c1
s1 envía un paquete SYN a las respuestas c1, c1 con un RST / ACK
s1 envía un SYN a c1, C1 RST / ACK (?)
Después de 0.8 segundos, c1 envía un SYN a s1, s1 SYN / ACK y luego c1 ACK
s1 envía contenido SSH a d1, d1 envía un ACK a s1
s1 reintenta solicitudes AAAA y A DNS
Después de 5 segundos, s1 reintenta un SYN a c1, una vez más es RST / ACKed por c1. Esto se repite 3 veces más.
Los últimos cinco paquetes: d1 envía contenido SSH a s1, s1 envía ACK y FIN / ACK a c1, c1 responde con FIN / ACK, s1 envía ACK a c1.

La conexión parece estar cerrada por el daemon telnet después de 22 segundos.

AFAIK, no hay forma de decodificar la transmisión SSH, así que estoy realmente atrapado aquí ...

Algunas ideas ?

Gracias !


1


origen


No estaba claro si pudo iniciar sesión correctamente como "raíz" cuando lo hacía desde la red local. AFAIK, telnetd normalmente no permite iniciar sesión como root en Linux, pero eso podría ser una cuestión de pam y quizás haya configurado el suyo para permitirlo. Pero si pudieras aclarar que descartaría ese problema. - deltaray


Respuestas:


¡Resolví esto!

En realidad, la interfaz loopback no estaba en d1, por lo tanto, el túnel no estaba operativo. Me di cuenta de que 'ping localhost' estaba fallando, así como 'telnet localhost'.

Creé un archivo / etc / network / interfaces con la interfaz 'lo', e hice un ifup lo.


0



Cuando eso suceda, debería darle algún mensaje en la sesión que creó el túnel que no puede establecer la conexión. - deltaray
En realidad, no fue así, por lo tanto, ¡me llevó tiempo entender lo que estaba sucediendo! - SCO