45

我想通过 SSH 从工作中访问我的家用计算机,但问题是我的家用计算机位于 NAT 路由器后面(我无权访问)。因为我的工作计算机安装了 CentOS 并且在代理后面,所以我无法使用 TeamViwer(电视在带有 wine 的 Linux 上移植,显然代理设置不起作用)。

有人知道适合我需要的程序吗?

谢谢,克劳迪乌

4

9 回答 9

37

我一直在寻找同样的东西,并找到了两个工具!

  • tmate - 即时终端共享
  • GoTTY - 将您的终端共享为 Web 应用程序

tmate:当您在终端中启动 tmate 时,它​​将创建一个 ssh 链接,您可以与希望允许连接到终端会话的另一方共享该链接。另一方只需要安装 ssh。

通过 NAT 工作没有问题,不需要 3rd 方工具。

tmate ssh 链接如下所示:

ssh 6wfUwfzXF77x6vSapQAb5Q81q@fk1.tmate.io

只需在您的系统上安装 tmate,几乎所有主要发行版(Fedora、Debian、Arch、Ubuntu ......)的官方存储库中都有软件包

此外,tmate 是开源的,如果您以后决定避免使用任何第三方服务,则允许您设置和使用自己的服务器。

GoTTY : 分享你想要的任何终端应用,对方甚至不需要 ssh,但如果你在防火墙和 NAT 后面,你需要整理端口转发。

于 2015-09-10T10:08:44.227 回答
5

从它的声音来看,没有特定的“应用程序”可以解决您的问题,它更多的是网络问题 - 您的家用计算机位于 NAT 后面,而您的工作计算机位于代理(http 或 socks)后面。

所以你需要第三台电脑——最好是运行 Linux 或 BSD——称之为“第三台电脑”。便宜的 Linux vps 托管可能是最好的选择。

在您的工作计算机上,您可以在 ssh 配置中使用“connect”通过代理隧道连接到“third-pc” - 请参阅http://bent.latency.net/bent/git/goto-san-connect-1.85/ src/connect.html

例如,这是我的 ~/.ssh/config 中的一个条目:

Host foo.dyndns.org
    User sonia
    Port 443
    ProxyCommand connect -H 1.2.3.4:8080 %h %p

(使用端口 443 是绕过 http 代理的常用方法)。

在您的家用计算机上,您可以使用“autossh”设置到“third-pc”的持久隧道 - 请参阅http://www.harding.motd.ca/autossh/http://www.linux.com/archive /功能/134133

然后,您可以从您的工作计算机上 ssh 到“第三台电脑”,然后通过 autossh 隧道返回到您的家用计算机。

于 2011-03-28T12:28:59.540 回答
4

[1] 工具本身 - 我建议查看 jrdesktop [ http://jrdesktop.sourceforge.net/ ];虽然不是非常活跃的项目,也不是特别适合类似调制解调器的连接,但它稳定、可靠、多平台并且工作正常。

[2] jrdekstop 和 ssh,虽然不做 NAT-transversal(如 Hamachi - 所谓的零配置 VPN;一定要检查这个!https://secure.logmein.com/products/hamachi2/),有类似的选项您可能会发现有用的“反向连接”。

一旦您在机器之间建立了这样的 VPN,您就可以像在普通 LAN 中一样自由使用 ssh、X、RDP、jrdesktop、VNC 和您选择的其他工具。如果您不信任第三方“横向提供商”,我听说为此类软件编写自己的副本相对容易(不过,至少其中一台机器必须是公共的,或者两台经过 NAT 的机器都必须具有对公共的临时访问权限第三台机器)。

此外,serverfault.com 上的人员可能会提供更好的见解。

于 2011-03-28T22:07:31.973 回答
3

您还可以使用Robo-TiTO 之类的替代方案。这使您的服务器可以通过 Jabber 聊天(例如 GTalk/Hangouts)访问。这是一个非常简单直接的终端访问。我已经使用了几年。我通常用它打开一个反向 SSH 隧道,然后它只是一个正确的 SSH 访问。

于 2011-04-05T01:55:10.217 回答
2

远程外壳访问:

  • Teleconsole - 用于共享 UNIX 终端和转发本地 TCP 端口的命令行工具
  • Tmate - 即时终端共享

通过 SSH 进行远程 GUI 访问:

  • Xpra - 多平台屏幕和应用程序转发系统“X11屏幕”
于 2019-10-02T01:25:19.853 回答
1

如果你只需要一个 ssh 连接,你可以花 2.99 美元/月购买一个便宜的 vps,并使用反向 ssh 或 ngrok 将你的计算机记录在 NAT 后面。

于 2017-05-19T07:14:20.133 回答
0

我不知道您的意思是您的家庭路由器没有外网远程管理,还是其他人保留了密码,但是,如果您可以访问路由器,则应该可以设置端口转发,以便当您 ssh 到路由器的公共 IP 时,它会自动将所有 ssh 流量发送到内部网络上的一个盒子。

除非您的 ISP 使用运营商级 NAT 做一些卑鄙的事情,否则应该可以正常工作。

或者,您应该能够通过 ssh 从家里连接到您的工作机器并创建一个隧道,以便您可以外壳连接到您的工作机器,然后获取家庭和工作之间的会话。

于 2011-03-28T12:25:57.027 回答
0

NX 使用 ssh 传输。NoMachine 分发该工具的免费和高级版本,还有 freenx。

于 2011-03-28T22:22:11.833 回答
-2

您也许可以仅将 X 转发与ssh -X hostssh -Y host仅打开图形应用程序一起使用。或者您设置一个 VNC 服务器,您也可以通过 SSH 进行隧道传输。

于 2011-03-28T11:35:24.947 回答