该怎么办。

该怎么办。

我的 MacOS 笔记本电脑没有静态公共 IP。我只是使用 wifi 连接在我的 MacOS 笔记本电脑上连接到互联网。

在另一个国家/地区有一台具有静态不变 IP 的服务器,需要使用它连接到我的笔记本电脑ssh并执行一些任务。

如何从命令行获取我的 MacOS 笔记本电脑 IP,并将其提供给服务器团队以连接到我的笔记本电脑。

我试图给他们我的MacOS的公共IP,即“103.248.203.94”,使用谷歌的“我的IP是什么”搜索,并使用

host myip.opendns.com resolver1.opendns.com
Using domain server:
Name: resolver1.opendns.com
Address: 208.67.222.222#53
Aliases: 

myip.opendns.com has address 103.248.203.94

我还可以连接到 MacOS 上的 localhost 22,如下所示,确认服务正在运行:

$telnet localhost 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.9

但是,即使 ssh 设置正确,服务器团队也无法连接到我的公共 IP。

你能建议一下吗?

答案1

你需要一个反向隧道。在以下示例中,您会将本地端口 22 从 MacOS 笔记本电脑转发到远程服务器上的端口 2222。假设远程服务器具有 XXXX 的静态 IP 地址,您可以从笔记本电脑使用以下命令创建反向隧道:

ssh -fnN -R 2222:localhost:22 [email protected]

在另一端(服务器端),用户将按照正常方式通过 SSH 连接到 Linux 服务器,然后他们将使用以下命令(从 Linux 服务器内部)启动到您的笔记本电脑的新 SSH 会话

ssh -p 2222 laptop-user@localhost

答案2

您的互联网路由器可能有一个 NAT,因为我们已经用完了 IP 地址(最后一组 IP 地址是几年前发布的)。

您从“我的 IP 是什么”中获得的地址将是您的路由器的 IP 地址。

该怎么办。

您需要设置端口转发:这样当有人尝试连接到路由器的第 22 部分时,请求就会转发到您的设备。

执行如下操作(每个路由器都会有所不同,有些比其他更容易)。

  • 进入路由器的配置。
  • 找到 DHCP 设置(可能不是这个)。
  • 为您的设备提供静态 IP 地址。
  • 找到端口转发的位。
  • 设置端口转发规则。

相关内容