
我無法在家庭連線之外透過 ssh 存取我的家庭伺服器。
(請注意,連接到我的 wifi,與連接我的伺服器相同,並且 ssh 到我的伺服器的本機 IP 我已經成功)。
在我的伺服器上執行 Ubuntu 20.04(穩定版本),目前 SSH 版本是“OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022”,它在連接埠 22 上運行(作為預設設定)。我在 ufw 設定中允許來自任何地方的連接埠 22 並應用它。在我的路由器設定中,我設定連接埠對映規則,將連接埠2200 上的請求轉發到我的本機伺服器,並在連接埠22(運行ssh 服務的連接埠)上拋出我的伺服器的MAC 位址(我讀到Ip 可能會更改)。
這是我的路由器地圖設定: 我的路由器設定;
這裡有一個翻譯:“abilitato”->“啟用”,“Qualsiasi host tutte le interfacce”->“任何主機所有介面”
當我嘗試在終端機中使用 ssh 時ssh my_user@my_router_ip -p 2200
(我嘗試使用 macOS 終端機和 iPadOS 上的 WebSsh),請求開始,但幾分鐘後 ssh 失敗並出現逾時錯誤。
我做錯了什麼?謝謝
答案1
my_router_ip 是您的本機位址(192.168...),從外部無法存取該位址。
外部 IP 位址由您的提供者設置,通常在 24 小時後更改。
因此,您必須先找出您的「外部」IP 位址 - 考慮到您不在家,這實際上不太可行。
您應該使用與您的盒子連接的動態 DNS 服務(在您的國家/地區尋找動態 DNS 服務)(「Fritzbox」具有 DynDNS 設定)。你會得到一個連結到你的外部 IP 的 url,你的 ssh 應該如下所示:
ssh my_user@someDynsName -p 2200
您應該知道您將向全世界打開您的防火牆。確保開放連接埠的接收器已加固。