SSH 到连接到 iPhone 热点的远程 Mac

a23*_*ted 0 iphone macos ssh terminal firewall

我正在尝试从我的 Mac SSH 到我妻子的 Mac。她的计算机已连接到她的 iPhone Wi-Fi 热点。我的 SSH 请求每次都超时。

我让她去 Systemprefs ?共享,然后检查远程登录并告诉我SSH的地址。我让她在 Systemprefs 下关闭防火墙?安全也是如此。

这是防火墙问题吗?我错过了一些简单的东西吗?

Tar*_*ani 5

所以这是一个router或private网络背后的经典 SSH/连接。

在您的情况下,因为它是 iPhone 网络共享,这是一个配置最少的路由器,您无法实现您想要的。

下一个选项是在专用网络后面连接

Mac ---> iPhone --->  Internet  <--- Mac
Run Code Online (Sandbox Code Playgroud)

现在这仅适用于您的 Mac 可从另一台 Mac 访问的情况

  ----------------------     ----------
 ?                     ? ? ?         ?
Mac ---> iPhone --->  Internet  <--- Mac
Run Code Online (Sandbox Code Playgroud)

所以下面是这个工作的先决条件

  • 两台 Mac 都启用了 SSH
  • 您的 Mac 有一个 IP Y.Y.Y.Y,并且可以通过 iPhone 网络共享后的 Mac 访问

首先,iPhone 后面的 Mac 将使用下面的方法打开一个通往 Mac 的反向隧道

sudo ssh -R 4455:127.0.0.1:22 <yourmacuser>@Y.Y.Y.Y
Run Code Online (Sandbox Code Playgroud)

建立此连接后,您可以在 Mac 上测试端口是否可用,如下所示

$ telnet localhost 4455
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.6
Run Code Online (Sandbox Code Playgroud)

一旦隧道打开,您就可以通过 ssh 回到另一台 Mac

$ ssh -p 4455 <othermacuser>@localhost
Run Code Online (Sandbox Code Playgroud)

反向隧道 SSH