我想通过 SSH 从工作中访问我的家用计算机,但问题是我的家用计算机位于 NAT 路由器后面(我无权访问)。因为我的工作计算机安装了 CentOS 并且在代理后面,所以我无法使用 TeamViwer(电视在带有 wine 的 Linux 上移植,显然代理设置不起作用)。
有人知道适合我需要的程序吗?
谢谢,克劳迪乌
我一直在寻找同样的东西,并找到了两个工具!
tmate:当您在终端中启动 tmate 时,它将创建一个 ssh 链接,您可以与希望允许连接到终端会话的另一方共享该链接。另一方只需要安装 ssh。
通过 NAT 工作没有问题,不需要 3rd 方工具。
tmate ssh 链接如下所示:
ssh 6wfUwfzXF77x6vSapQAb5Q81q@fk1.tmate.io
只需在您的系统上安装 tmate,几乎所有主要发行版(Fedora、Debian、Arch、Ubuntu ......)的官方存储库中都有软件包
此外,tmate 是开源的,如果您以后决定避免使用任何第三方服务,则允许您设置和使用自己的服务器。
GoTTY : 分享你想要的任何终端应用,对方甚至不需要 ssh,但如果你在防火墙和 NAT 后面,你需要整理端口转发。
从它的声音来看,没有特定的“应用程序”可以解决您的问题,它更多的是网络问题 - 您的家用计算机位于 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 隧道返回到您的家用计算机。
[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 上的人员可能会提供更好的见解。
您还可以使用Robo-TiTO 之类的替代方案。这使您的服务器可以通过 Jabber 聊天(例如 GTalk/Hangouts)访问。这是一个非常简单直接的终端访问。我已经使用了几年。我通常用它打开一个反向 SSH 隧道,然后它只是一个正确的 SSH 访问。
远程外壳访问:
通过 SSH 进行远程 GUI 访问:
如果你只需要一个 ssh 连接,你可以花 2.99 美元/月购买一个便宜的 vps,并使用反向 ssh 或 ngrok 将你的计算机记录在 NAT 后面。
我不知道您的意思是您的家庭路由器没有外网远程管理,还是其他人保留了密码,但是,如果您可以访问路由器,则应该可以设置端口转发,以便当您 ssh 到路由器的公共 IP 时,它会自动将所有 ssh 流量发送到内部网络上的一个盒子。
除非您的 ISP 使用运营商级 NAT 做一些卑鄙的事情,否则应该可以正常工作。
或者,您应该能够通过 ssh 从家里连接到您的工作机器并创建一个隧道,以便您可以外壳连接到您的工作机器,然后获取家庭和工作之间的会话。
NX 使用 ssh 传输。NoMachine 分发该工具的免费和高级版本,还有 freenx。
您也许可以仅将 X 转发与ssh -X host
或ssh -Y host
仅打开图形应用程序一起使用。或者您设置一个 VNC 服务器,您也可以通过 SSH 进行隧道传输。