Roc*_*ley 7 linux ssh ssh-tunneling
我在网络 A 上有一台 Windows PC,在网络 B 上有一台 Windows PC。同样在网络 BI 中有几台 Linux 服务器。从网络 A 上的 PC,我可以 ssh 到网络 B 上的任何服务器。但是,我无法从网络 B 上的计算机连接到网络 A 上的 PC。
Windows PC Local
__ _
can ssh [__]|=|
.-,( ),-. ---------> .-,( ),-. /::/|_|
.-( )-. .-( )-.
( Network A ) ( Network B )
'-( ).-' '-( ).-'
'-.( ).-' <--------- '-.( ).-'
can't ssh Linux Server #1
Windows PC Remote __ _
__ _ [_Linux Server #2
[__]|=| /: __ _
/::/|_| [__]|=|
/::/|_|
Run Code Online (Sandbox Code Playgroud)
我希望能够从我的网络 B 电脑 RDP 到我的网络 A 电脑。是否可以通过其中一个 linux 机器使用某种反向隧道?
解决方案 1:在网络 A 上的 PC 上,通过连接到网络 B 上的 Linux 主机,使用Putty 之类的东西创建反向 ssh 隧道。本地端口应该是,远程主机和端口是任意的(让我们举个例子) . 然后从网络 B 上的 PC,使用 putty 连接到同一 Linux 主机,并执行转发隧道。本地端口应设置的东西比其他(如微软RDP客户端将不允许连接到本地主机,但将允许连接到本地主机任意端口)。所以让我们重用相同的端口号,远程ip应该和远程端口一样。然后将 RDP 客户端指向 。3389
127.0.0.1
6000
3389
6000
127.0.0.1
6000
127.0.0.1:6000
实际上,您连接到6000
网络 B 中 PC上的端口。Putty 将其转发到 Linux 主机,该主机已设置为将其转发到127.0.0.1
端口6000
。来自网络 A 上 PC 的 Putty 连接侦听6000
并将其转发到127.0.0.1
PC A 上的端口3389
,然后 RDP 接受连接。
方案二:在B网的PC上设置一个SSHD,然后只需要做一个反向端口转发即可。有Bitvise SSHD运行在Windows和是免费的非商业用途。Bitvise 还做一个单独的客户端,与 WinSSHD 一起处理 RDP 隧道。这个解决方案的好处是保存用户名、设置(如全屏等),并且可以从保存文件启动,并且将阻止您在使用 RDP 之前设置/记住转发端口。
归档时间: |
|
查看次数: |
9788 次 |
最近记录: |