15

我在一所大学拥有两台电脑。它们都位于某种防火墙等后面,这使我无法通过网络直接连接它们。他们都可以通过 SSH 公用计算机,但我不知道如何通过 ssh 从一台计算机连接到另一台计算机。我还经营一个小型网站。我的问题是,我可以使用我网站的公共地址以某种方式连接我的两台计算机,而不会让所有信息流过我的网站并占用我所有的带宽吗?理想情况下,我想在两台计算机之间创建一个 ssh 隧道。

我已经尝试过 Hamachi,它不再与 mac 配合得很好,我想要更多地控制连接。

4

1 回答 1

15

假设您想通过您的 ServerC(您的公共服务器)从 MachineA SSH 到 MachineB(都在大学)。

您将需要在 ServerC 和 MachineB 上运行 sshd。

运行以下命令,假设您的 sshd 正在侦听 MachineB 和 ServerC 上的端口 22:

# Forward incoming connections from ServerC:22000 to MachineB:22
(on MachineB) ssh -R22000:127.0.0.1:22 -N user@ServerC
# Forward incoming connections from 127.0.0.1:22000 to ServerC:22000
(on MachineA) ssh -L22000:127.0.0.1:22000 -N user@ServerC
# Establish the link between MachineA and MachineB
(on MachineA) ssh -p 22000 user@127.0.0.1

此方法只需要访问端口 22,如果您的大学代理是邪恶的,您可以轻松地将其更改为 80 或 443。

于 2011-02-18T18:30:29.360 回答