7 votos

SSH túnel para escritorio remoto via servidor intermediario parte II

Me pidió previamente cómo configurar 2 tuneles SSH utilizando un intermediario servidor con el fin de ejecutar de Escritorio Remoto a través de ellas y me las arreglé para hacer que funcione. Ahora, estoy tratando de hacer lo mismo, utilizando las mismas máquinas, pero en orden inverso. Esta es la configuración:

  1. PC con Windows 7 en una red privada, sentado detrás de un firewall.
  2. El acceso del público servidor Linux, que tiene acceso a la PC.
  3. Windows 7 portátil, en casa, en la que deseo hacer Escritorio Remoto desde el PC.

Yo uso la Masilla en el ordenador portátil para crear un túnel inverso de que el servidor Linux: R60666 localhost:3389.

Yo uso la Masilla en el PC para crear un túnel en el servidor Linux: L60666 localhost:60666.

Yo SSH de Linux servidor y ejecutar telnet localhost 60666 y parece producir el resultado esperado, como se describe en la depuración de los consejos que he recibido aquí.

Yo intente conectarse de Escritorio Remoto desde el PC a la computadora portátil: localhost:60666. Pide mi nombre de usuario y la contraseña, haga clic en ACEPTAR y se cierra mi sesión actual en el portátil (así que no veo la pantalla de bienvenida en la computadora portátil en lugar de mi escritorio), se muestra el mensaje de "Bienvenida" en la pantalla del Escritorio Remoto y, a continuación, simplemente se queda en negro. No desconecte, no ofrece ningún error y no soy capaz de realizar cualquier acción en la pantalla del Escritorio Remoto. He probado el mismo programa de instalación de Windows XP laptop y estoy experimentando los mismos síntomas. También trató de utilizar diferentes puertos de 60666, pero nada cambió. ¿Alguien tiene alguna idea de lo que estoy haciendo mal?


Actualización: Como se ha señalado por @jwinders, yo no soy capaz de ejecutar telnet PC 3389 desde el servidor Linux directamente. Desde el Firewall de Windows tiene una regla para permitir todas las conexiones en el puerto 3389, no tengo idea de lo que es el bloqueo. Afortunadamente, soy capaz de crear un túnel SSH de la máquina Linux para el PC, ssh 3389:localhost:3389 'domain\user'@PC.

9voto

jwinders Puntos 35

creo que se puede hacer todo de la conf de tu portátil

la instalación de una masilla de conexión a la caja de linux en su computadora portátil. a continuación, en 'conexión'>'SSH'>'túneles' poner 60666 en el 'puerto de origen' y asegúrese de que el Local de botón de radio seleccionado. en el "destino" de entrar en win7-cuadro-nombre-o-dirección-ip:3389.

guardar todos y que se debe permitir a abrir una sesión de putty para linux-box que automáticamente crea un túnel de desvío de tráfico a localhost(el portátil):60666 para win7:3389

si usted está haciendo esto en la línea de comandos debe ser algo como

ssh -L60666:win7:3389 linux-box

2voto

basvdlei Puntos 786

Yo no veo nada malo con su tuneles SSH. Conectar a localhost:60666 en el PC debería acabar en localhost:3389 en el Portátil. Y el hecho de que usted está recibiendo una pantalla de inicio de sesión confirma esta evaluación.

Un poco de google en la pantalla en blanco que conseguir yo a este artículo de Microsoft knowledge base: http://support.microsoft.com/kb/555840. Indica una pantalla en blanco podría ser debido a una posible tamaño de MTU desajustes:

Verifique que el servidor, el cliente y el equipo de la red utilizando el "MTU" de tamaño.

Dada su justa cantidad de saltos de red, firewalls, y lo que tienes, la fragmentación de paquetes es bastante probable que: a) la Mayoría de las máquinas de Windows use una MTU de 1300 por defecto, mientras que la mayoría de las cajas de Linux han 1500 (el máximo valor permitido para la LAN, no considerando jumbo frames). Usted puede tratar de reducir estas a reducir la fragmentación.

Vea también:

1voto

No de una VPN sería más apropiado? OpenVPN es super fácil de configurar. Aquí se muestra un ejemplo de configuración y algunos enlaces a la guía a través del proceso de creación de certificados.

Sólo tienes que configurar el intermediario para el anfitrión y los invitados pueden conectarse y comunicarse entre sí.

apt-get install openvpn
mkdir /etc/openvpn/easy-rsa
mkdir -p /etc/openvpn/ccd/client_server
touch /etc/openvpn/ipp.txt
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca 
./build-key-server server
./build-dh
cd /etc/openvpn/easy-rsa/keys
openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt -certfile ca.crt

A continuación, cree un nuevo archivo /etc/openvpn/client_server.conf y pon lo siguiente en él, cambiando el SERVER_IP_ADDRESS según corresponda

local SERVER_IP_ADDRESS
port 8443
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
pkcs12 /etc/openvpn/easy-rsa/keys/server.p12
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
ifconfig-pool-persist /etc/openvpn/ipp.txt
server 192.168.100.0 255.255.255.0
client-config-dir /etc/openvpn/ccd/client_server
ccd-exclusive
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
reneg-sec 0
client-to-client

A continuación, cree una clave por cada usuario que se va a conectar, y crear el archivo de configuración en el ccd dir

./build-key-pkcs12 user1@domain.com
echo "ifconfig-push 192.168.100.2 255.255.255.0" > /etc/openvpn/ccd/client_server/user1@domain.com

La dirección IP DEBE ser adecuado para un /30 de subred (ver http://www.subnet-calculator.com/cidr.php), ya que sólo hay 2 direcciones disponibles (servidor y cliente) por conexión. Así que el siguiente cliente disponibles IP sería 192.168.100.6 y así sucesivamente.

Entonces ahora tiene direcciones ip estática por cada usuario que se conecta.

Luego de suministro the user1@domain.com.p12 archivo para el usuario final y el uso de la siguiente fichero de configuración

client
dev tun
proto udp
remote SERVER_IP_ADDRESS 8443
pkcs12 user1@domain.com.p12
resolv-retry infinite
nobind
ns-cert-type server
comp-lzo
verb 3
reneg-sec 0

1voto

jasper Puntos 111

Me encontré en la misma pantalla en negro + desconectar el problema yo mismo hoy en día, el uso de la masilla como mi cliente. Me hizo encontrar una solución con el tiempo.

Me cambié de masilla para bitvise tunnelier, y la instalación de un S2C de conexión con la siguiente configuración:

listen if:0.0.0.0
listen port:13389
destination host:localhost
dest port:3389

Casualmente, estoy usando bitvise servidor ssh en mi servidor, de modo que esta puede ser una feliz combinación de 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 a estos chicos en cualquier forma.

0voto

Jonathan Lloyd Puntos 1

He encontrado que a menos que todos los usuarios se registran completamente fuera de la máquina conseguiría una pantalla en blanco después de introducir las credenciales. Por lo tanto, asegúrese de que usted siempre cerrar la sesión.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: