如何在没有第三台计算机的情况下在 NAT 和防火墙后面 SSH 两台计算机

use*_*169 9 windows linux firewall ssh nat

我正在尝试通过 ssh 进入我家中的 Linux 机器。我的家是宿舍风格的环境 - NAT 和防火墙,带有运行 Arch Linux 的个人笔记本电脑。我的工作是企业风格的 Windows 7 - NAT 和代理防火墙,没有管理员权限。

我能够连接两个正在运行的 Team Viewer 便携式设备。然而,这并不适合我真正想要的。我想简单地通过 SSH 连接到我家中的 Linux 机器,让我的 Linux 机器完全注销——当我不在的时候基本上是无头的。

我已经阅读了隧道,但是如果我正确理解隧道,我需要一个两台计算机都可以连接的第 3 方服务器。我没有这样的服务器,也不想为这样的事情付费。


从工作中通过 SSH 连接到我的笔记本电脑的简单而安全的解决方案是什么?有免费且安全的“第三台服务器”吗?我一直在谷歌上下,但似乎越来越困惑。

har*_*ymc 21

pwnat是一个开源工具,据说可以解决这个问题。它说 :

pwnat 是一种工具,它允许 NAT 后面的任意数量的客户端与单独 NAT 后面的服务器通信,无需端口转发,也没有在任何路由器上设置 DMZ,以便直接相互通信。服务器不需要知道有关尝试连接的客户端的任何信息。

没有中间人,没有代理,没有第三方,不需要 UPnP/STUN/ICE,没有欺骗,也没有 DNS 技巧。

更重要的是,客户端然后可以连接到任何远程主机上的任何主机或端口,或者连接到服务器决定的固定主机和端口。

pwnat 建立这种连接:

机器 A (IP: 192.168.1.3) -> NAT A (IP: 122.xxx) -> Internet -> NAT B (IP: 59.xxx) -> 机器 B (192.168.2.10)

pwnat 仅针对 Linux 分发,但文章 PWNAT: Windows Complied Version包含Windows 版本. 另见,由同一作者PWNAT :示例

pwnat 使用的方法非常聪明,但不能保证它适用于您的环境。


dan*_*gie 6

我个人认为隧道是你最好的选择,即使你还没有第三台服务器。

Amazon EC2 提供免费套餐定价选项,允许新客户在一年内免费运行 Linux/Windows 微型实例长达 750 小时/月。我自己没有使用过该服务,但假设如果您只在需要时运行虚拟服务器,您就可以免费启动和运行 SSH 隧道。您甚至可能会发现该服务足够便宜,值得付费?

Hak5很好地介绍了隧道(具有持久性)。您还可以设置一个 CRON 触发的脚本来尝试连接到虚拟服务器,这样您就可以在启动 EC2 实例后的几分钟内访问笔记本电脑......