在不设置路由器的情况下获得ssh访问的策略

我将需要通过ssh远程pipe理某人的macbook pro。 问题是,他们将在networking之间移动,所以我不能只在他们的路由器上设置端口转发。 无论他们在哪个networking上,我可以使用什么策略获得访问权限?

我想一个可能性可能是让他们运行一个bash脚本(希望通过双击桌面上的图标),以某种方式使我可以ssh进入。

也许根据https://github.com/progrium/localtunnel的行可以做的工作?

谢谢!

您将需要使用您将要pipe理的计算机进行出站连接,以便在任何防火墙/路由器后面访问它。 您可能会考虑自己节省自己的头痛,并使用像Hamachi这样的东西。

你可以在Macbook和你的网站之间build立OpenVPN吗? Macbook可以是使用TunnelBlick的OpenVPN客户端。 您可以使用任何适当的方法在您的网站上设置一个OpenVPN服务器。 在这种情况下,Macbook将启动到您的站点的VPN连接,您的OpenVPN服务器将为其分配一个静态IP地址。 您可以然后只是SSH的VPN IP地址。

是的,这个地方隧道的东西可能会起作用。 另一方面,OpenVPN比地方通道更为标准化和易于理解。 如果你需要额外的访问,你可以做更多的事情。

如果你特别需要SSH,那么Mac上的某种VPN客户端可以连接到你的networking。 当你需要访问的时候,他们启动VPN,在你的networking上分配一个静态地址,然后你开启SSH。

就我而言,你可以这样做,只要:

1)你有公共的IP和运行OR的sshd服务器

2)如果你在内联网,你可以在你的路由器上设置端口转发,因此端口22将被redirect到你的机器

如果1)或2)是你的情况和马科斯机已经sshd服务器运行。 每当你想要访问它时,在macos上做下面的事情(从脚本中创build脚本并把它交给macos所有者):

macos$ ssh -R 65022:localhost:22 root@<yourmachine_ip_address> 

它所做的是转发您的端口65022 macos的sshd服务器。

现在你可以简单地ssh到端口65022:

 yourlocalmachine$ ssh -p 65022 [email protected] 

你现在应该在macos上

顺便说一下:yourmachine_ip_address可以是第三台拥有sshd访问权限的机器,您拥有并拥有公共IP地址。 比起上一步,你可以用这种方式连接它:

 yourlocalmachine$ ssh -p 65022 root@<yourmachine_ip_address> 

警告:我不是100%确定它会工作(我还没有testing过),但这很有趣 – 我会尽快尝试回家:)

更新:我testing了它 – 它像一个魅力。

更新2:在第二种情况下(当我们使用第三台机器时), GatewayPorts yes在本机上的/ etc / sshd / sshd_config文件中设置GatewayPorts yes