Ssh
如何找到其他人可以通過 ssh 連接的 MacOS 筆記型電腦的 IP 地址?
我的 MacOS 筆記型電腦沒有靜態公共 IP。我只是使用 wifi 連接在我的 MacOS 筆記型電腦上連接到網際網路。
在另一個國家/地區有一台具有靜態不變 IP 的伺服器需要連接到我的筆記型電腦並使用
ssh
並執行一些任務。如何從命令行獲取我的 MacOS 筆記型電腦 IP,我可以將其提供給伺服器團隊以連接到我的筆記型電腦。
我試圖給他們我的 MacOS 的公共 IP 即“103.248.203.94”,使用Google的“我的 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。
你能建議嗎?
你需要一個反向隧道。在以下範例中,您將從 MacOS 筆記型電腦的本地埠 22 轉發到遠端伺服器上的埠 2222。假設遠端伺服器的靜態 IP 地址為 XXXX,您可以在筆記型電腦上使用以下命令創建反向隧道:
ssh -fnN -R 2222:localhost:22 server-user@X.X.X.X
在另一端(伺服器端),使用者將照常通過 SSH 連接到 linux 伺服器,然後他們將使用以下命令(從 Linux 伺服器內)開始到您的筆記型電腦的新 SSH 會話
ssh -p 2222 laptop-user@localhost