通过中间计算机进行远程桌面到服务器

通过中间计算机进行远程桌面到服务器

我可以访问 3 台机器:A(Windows 8,我是其上的管理员)、B(旧版 Ubuntu 发行版,我是其上的根用户)和 C(运行 Ubuntu 的服务器,我不是其上的根用户)。

我需要从 A 到 C 的远程桌面。但由于 C 在大学网络上,我需要想办法通过 B(也在大学网络上)。A 是我家里的笔记本电脑。

有什么想法可以实现这一点吗?我在 Google 上搜索了一下,似乎某种“隧道”可以起作用(类似于),但我对这一切还很陌生,所以一些具体而详细的提示会有所帮助。

提前致谢。

答案1

绕过防火墙限制的最佳方法是实施反向隧道,它将解决您的所有问题。

防火墙是为了阻止从家到工作场所的连接而建立的,但不是反之。反向隧道是从工作场所到家的连接,应该是永久的。这种连接允许你随时从家到工作场所搭便车。

您可以从 B 和 C 实现反向隧道(都是 Linux 机器,没有问题),前提是您的 Windows 机器上运行着 ssh 服务器。我建议您查找 freeSSHd(顾名思义,它是免费的)。在 Windows 机器上设置完成后,Google反向隧道 Linux,你会发现很多解释。

反向隧道的另一个优点是,您不必使用远程桌面连接(如 ssh,我将在下面说明),而是可以使用任何您想要的。例如,您可以使用虚拟网络计算机代替远程控制进行背负式骑行,然后您就可以在家中使用工作电脑进行完全图形化的会话。

如果您想要快速简便的方法,请安装自动SSH在你的 Linux 机器上(它是一个检查给定 ssh 连接(在你的情况下是反向隧道)是否启动的包,如果没有启动,它会自动重新启动它),然后创建一个名为的文件,比如说,汽车,使其可执行,把这行放入/etc/rc.local

/home/yourname/path/to/auto

并将此文本放入汽车

 #!/bin/bash

 /usr/lib/autossh/autossh -M 6521 -f -p 22 -2 -N -R 8100:localhost:22 [email protected] -i /home/yourname/.ssh/yourHOMEcryptokey

现在,您可以从家里连接:

 ssh -Y yourname@localhost -p 8100 -i /home/yourname/.ssh/yourWORKcryptokey

第一个命令使用您家用电脑上的端口 6521 来检查反向隧道是否有效。它还指示您的家用电脑将家用电脑在端口 8100 上收到的任何内容发送到工作电脑的端口 22。第二个命令尝试在端口 8100 上与自身打开 ssh 会话,但是,正如我刚才所说,此通信尝试会自动发送到端口 22 上的工作电脑。因此,您假装连接到您自己的家用电脑,而实际上您正在连接到您的工作电脑。

在完成所有设置之前,您必须确保您可以从工作电脑连接到家用电脑(仅一次),无需自动 SSH。

使用加密技术并非强制性的,但它可以使通信更加安全。Google 上有数十亿个关于如何在任何操作系统上执行此操作的指南。

相关内容