如何使用linux盒通过ssh隧道Windows远程桌面?


17

我的家庭网络中有两台物理服务器,分别是linux(192.168.8.x)和Windows Server 2008(192.168.8.y)。

可以通过非标准端口(例如23008)上的ssh从外部访问linux服务器ist。如何在Linux机器上通过ssh建立永久的RDP隧道?我知道我可以在外部机器上使用腻子,但是我不知道如何在Linux机器上正确设置sshd。感谢您的提示!

Answers:


18

假设您的Linux机器可从互联网上的端口23008的1.2.3.4访问,在外部系统上,我会这样做:

external% ssh -p 23008 -L 13389:192.168.8.y:3389 username@1.2.3.4

然后,我将使用以下命令连接到端口转发的RDP系统:

external% rdesktop localhost:13389

如果您的外部设备不是Linux设备,则将为您拥有的工具提供等效的命令。想法仍然是相同的:将外部的端口13389转发到192.168.8.y的端口3389,然后使用外部的RDP客户端连接到localhost:13389

您指的是正确设置linux box的sshd,但是除非重新配置它,否则标准sshd设置很可能支持此设置。


没错,我认为我必须配置sshd才能通过隧道传输特定端口。但这一切都是通过client命令完成的。(在Windows上为ssh或腻子)。我
elsni 2010年

14
ssh -L 3389:<ip of windows server>:3389 <ip of ssh server> -l <ssh user> -N

假设3389是您的RDP运行的端口,并且ssh服务器可以访问该端口,则可以将其连接到127.0.0.1:3389,就像它是远程服务器一样。


SSH服务器的IP是内部还是外部的?外部每天都在变化,但是服务器可以从外部访问dydyns
elsni 2010年

在这种情况下:ssh -L 3389:<ip of windows server>:3389 <dydns of ssh server> -l <ssh user> -N主机名可以代替ip来使用,当然前提是您将端口22转发到ssh服务器,如果使用其他端口转发,即在1212上使用-p 1212,则这可能是不好的旗。
Oneiroi

<prdp>是内部Windows服务器上的rdp端口<pssh>是公共ssh linux服务器的端口(在我的情况下为非标准)<ptunnel>是隧道的端口<ipwserver>是Windows服务器的内部IP地址。我做了ssh -L <prdp>:<ipwserver>:<ptunnel> myserver.gotdns.com -l myusername -N -p <pssh>对吗?
elsni 2010年

3

人们也可以从Remmina远程桌面客户端使用内部ssh隧道。

如果您可以使用ssh密钥将ssh切换到某些linux服务器,并且该服务器已打开3389(RDP)端口以容纳来自计算机的数据包,则可以通过ssh隧道对RDP使用以下设置。

在配置文件编辑器中,将“ 基本”选项卡设置为直接连接。转到“ SSH隧道”选项卡并按以下步骤设置隧道


[x]启用SSH隧道

(o)自定义[ssh / linux服务器的IP /主机名]

SSH验证:

用户名:[ssh / linux服务器上的用户名]

(o)公钥(自动)


使用这些选项,Remmina打开

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

然后通过该ssh通道连接RDP会话。

如果使用用户名/密码登录到Linux服务器,或者使用其他身份文件,则必须更改配置文件设置的“ SSH身份验证”部分。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.