¿Cómo hacer un túnel del escritorio remoto de Windows a través de ssh usando una caja de Linux?

17

Tengo dos servidores físicos en mi red doméstica, Linux ( 192.168.8.x) y Windows Server 2008 ( 192.168.8.y).

Se puede acceder al servidor Linux desde el exterior mediante ssh en un puerto no estándar (por ejemplo, 23008). ¿Cómo establezco un túnel RDP permanente a través de ssh en la caja de Linux? Sé que puedo usar masilla en la máquina externa, pero no sé cómo configurar sshd en la caja de Linux correctamente. Gracias por cualquier pista!

elsni
fuente

Respuestas:

18

Suponiendo que su caja de Linux sea accesible desde Internet en 1.2.3.4 en el puerto 23008, en un sistema externo, haría:

external% ssh -p 23008 -L 13389:192.168.8.y:3389 [email protected]

Luego me conectaría al sistema RDP reenviado por el puerto con

external% rdesktop localhost:13389

Si su caja externa no es una caja de Linux, habrá comandos equivalentes para las herramientas que tenga; la idea sigue siendo la misma: reenviar el puerto externo 13389 al puerto 192.168.8.y 3389, luego usar el cliente RDP externo para conectarse localhost:13389.

Se refiere a configurar correctamente el sshd de la caja de Linux, pero a menos que lo haya reconfigurado, es probable que la configuración estándar de sshd lo admita bien.

MadHatter
fuente
Tienes razón, pensé que tenía que configurar sshd para hacer un túnel en puertos específicos. Pero todo esto se hace con el comando del cliente. (SSH o masilla en las ventanas). I
elsni
14
ssh -L 3389:<ip of windows server>:3389 <ip of ssh server> -l <ssh user> -N

Suponiendo que 3389 es el puerto en el que se está ejecutando su RDP Y que el servidor ssh tiene acceso a dicho puerto, puede conectarse a 127.0.0.1:3389 como si fuera el servidor remoto.

Oneiroi
fuente
¿La ip del servidor ssh es interna o externa? Los cambios externos a diario, pero el servidor es dyndns vie accesibles desde el exterior
elsni
EN cuyo caso: los ssh -L 3389:<ip of windows server>:3389 <dydns of ssh server> -l <ssh user> -Nnombres de host se pueden usar en lugar de ip, suponiendo, por supuesto, que el puerto 22 se reenvíe al servidor ssh, que en una nota lateral puede ser malo, si se usa un puerto diferente y se reenvía eso, es decir, 1212 use el -p 1212 bandera.
Oneiroi
<prdp> es el puerto rdp en el servidor interno de Windows <pssh> es el puerto del servidor público ssh linux (no estándar en mi caso) <ptunnel> es el puerto para el túnel <ipwserver> es la dirección IP interna del servidor de Windows. Hice un ssh -L <prdp>: <ipwserver>: <ptunnel> myserver.gotdns.com -l myusername -N -p <pssh> ¿correcto?
elsni
3

También se puede usar el túnel interno ssh desde el cliente de escritorio remoto Remmina .

Si puede enviar ssh a algún servidor Linux usando las teclas ssh y ese servidor tiene un puerto 3389 (RDP) abierto para los paquetes que provienen de su máquina, puede usar la siguiente configuración para RDP a través del túnel ssh.

En el editor de perfiles, configure la pestaña Básica como para la conexión directa. Vaya a la pestaña Túnel SSH y configure la tunelización de esta manera:


[x] Habilitar túnel SSH

(o) Personalizado [ip / nombre de host del servidor ssh / linux]

Autenticación SSH:

Nombre de usuario: [nombre de usuario en el servidor ssh / linux]

(o) Clave pública (automática)


Usando esas opciones, Remmina abre

ssh -L 3389:[target windows server]:3389 [linux server] -N

y luego conecta la sesión RDP a través de ese canal ssh.

Si inicia sesión en el servidor Linux con un nombre de usuario / contraseña o si está usando un archivo de identidad diferente, debe cambiar la sección Autenticación SSH de la configuración del perfil.

andrej
fuente