Me pregunté previamente cómo configurar 2 túneles SSH usando un servidor intermediario con el fin de ejecutar de escritorio remoto a través de ellos y me las arreglé para hacer que funcione. Ahora, estoy tratando de hacer lo mismo, usando las mismas máquinas, pero en orden inverso. Aquí está la configuración:
- PC con Windows 7 en una red privada, sentado detrás de un firewall.
- Servidor Linux de acceso público, que tiene acceso a la PC.
- Computadora portátil con Windows 7, en casa, en la que deseo hacer Escritorio remoto desde la PC.
Yo uso masilla en la computadora portátil para crear un túnel inverso de ella al servidor Linux: R60666 localhost:3389
.
Yo uso masilla en el PC para crear un túnel normal de la misma para el servidor Linux: L60666 localhost:60666
.
I SSH al servidor Linux y ejecuto telnet localhost 60666 y parece producir el resultado esperado, como se describe en los consejos de depuración que recibí aquí .
Trato de conectar a Escritorio remoto desde el PC a la computadora portátil: localhost:60666
. Pide mi nombre de usuario y contraseña, hago clic en Aceptar y bloquea mi sesión actual en la computadora portátil (así que veo la pantalla de bienvenida en la computadora portátil en lugar de mi escritorio), muestra el mensaje "Bienvenido" en la pantalla del Escritorio remoto y luego solo se pone negro. No se desconecta, no proporciona ningún error y no puedo realizar ninguna acción en la pantalla de Escritorio remoto. Intenté la misma configuración con una computadora portátil con Windows XP y estoy experimentando los mismos síntomas. También intenté usar puertos diferentes a 60666, pero nada cambió. ¿Alguien tiene alguna idea de lo que estoy haciendo mal?
Actualización : como señaló @jwinders, no puedo ejecutarlo telnet PC 3389
directamente desde el servidor Linux. Dado que Windows Firewall tiene una regla para permitir todas las conexiones en el puerto 3389, no tengo idea de qué lo está bloqueando. Afortunadamente, puedo crear un túnel SSH desde la máquina Linux a la PC ssh 3389:localhost:3389 'domain\user'@PC
.
fuente
Respuestas:
Hoy mismo me encontré con el mismo problema de pantalla negra + desconexión, usando masilla como cliente. Finalmente encontré una solución .
Cambié de masilla a bitvise tunnelier y configuré una
S2C
conexión con la siguiente configuración:Por casualidad, estoy usando el servidor bitvise ssh en mi servidor, por lo que esta puede ser una combinación feliz para dos productos fabricados por el mismo proveedor. Sería genial si esto resuelve los problemas de los demás.
Para el registro, no estoy afiliado con estos tipos de ninguna manera.
fuente
No veo nada malo con sus túneles SSH. Conectando a localhost: 60666 en la PC debería terminar en localhost: 3389 en la computadora portátil. Y el hecho de que obtenga una pantalla de inicio de sesión confirma esta evaluación.
Un poco de google en la pantalla en blanco me lleva a este artículo de la base de conocimiento de Microsoft: http://support.microsoft.com/kb/555840 . Indica que una pantalla en blanco podría deberse a posibles desajustes de tamaño de MTU:
Dada la cantidad justa de saltos de red, firewalls y lo que tiene, es muy probable que la fragmentación de paquetes :) La mayoría de las máquinas Windows usan una MTU de 1300 por defecto, mientras que la mayoría de las cajas de Linux tienen 1500 (el valor máximo permitido para LAN, sin tener en cuenta las tramas gigantes) ) Puede intentar reducirlos para reducir la fragmentación.
Ver también:
fuente
netsh interface ipv4 show subinterfaces
) yping linux_server -f -l 1472
tiene éxito en ambas máquinas. Solo como prueba, traté de configurar la MTU en la PC a 1300, pero no me ayudó. También intenté cambiarlo en la computadora portátil, pero fue en vano :( Me pregunto si hay alguna forma "más inteligente" de depurar este problema ...¿No sería una VPN más apropiada? OpenVPN es muy simple de configurar. Aquí hay una configuración de muestra y algunos enlaces para guiarlo a través del proceso de creación del certificado.
Simplemente configure el intermediario para que sea el host, y los invitados pueden marcar y comunicarse entre sí.
Luego cree un nuevo archivo
/etc/openvpn/client_server.conf
y coloque lo siguiente en él, cambiando elSERVER_IP_ADDRESS
que correspondaLuego, cree una clave por usuario que se va a conectar y cree el archivo de configuración en el directorio ccd
La dirección IP DEBE ser adecuada para una subred / 30 (consulte http://www.subnet-calculator.com/cidr.php ), ya que solo hay 2 direcciones disponibles (servidor y cliente) por conexión. Entonces su próxima IP de cliente disponible sería 192.168.100.6 y así sucesivamente.
Entonces ahora tiene IP estáticas por usuario conectado.
Luego proporcione el
the [email protected]
archivo al usuario final y use el siguiente archivo de configuraciónfuente
Si está ejecutando la sesión ssh dentro de la cuenta de usuario (usando un programa como putty.exe), cuando intenta iniciar sesión a través de rdp, se interrumpirá esa conexión y se interrumpirá la sesión de rdp. Lo que debe hacer es ejecutar el túnel ssh como un servicio que no se interrumpirá.
fuente
Creo que puedes hacer todas las configuraciones desde tu laptop
configurar una conexión de masilla a la caja de Linux en su computadora portátil. luego en 'conexión'> 'SSH'> 'túneles' coloque 60666 en el campo 'puerto de origen' y asegúrese de que esté seleccionado el botón de radio Local. en el 'destino' ingrese win7-box-name-or-ip: 3389.
guarde todo eso y debería permitirle abrir una sesión de masilla en linux-box que crea automáticamente un túnel que reenvía el tráfico a localhost (su computadora portátil): 60666 a win7: 3389
si está haciendo esto en la línea de comando, debería ser algo como
fuente
ssh 3389:localhost:3389 'domain\user'@PC
y luego hacerlotelnet localhost 3389
en la caja de Linux.Descubrí que a menos que todos los usuarios se desconectaran por completo de la máquina, obtendría una pantalla en blanco después de ingresar las credenciales. Por lo tanto, asegúrese de cerrar sesión siempre.
fuente