當我不在時,如何允許 SSH 進入我的電腦?

當我不在時,如何允許 SSH 進入我的電腦?

假設我將離開桌面,但我希望在外出時能夠透過 SSH 存取桌面。

是不是像在我的路由器頁面192.168.1.1for port新增 NAT/連接埠轉送規則一樣簡單22

假設我的公共 IP 是1.2.3.4。然後我會將規則新增到我的路由器,然後我可以從 SSH 連接到我的盒子。ssh [email protected]

答案1

你問題中的建議是完全正確的。

您需要安裝 OpenSSH 伺服器 ( sudo apt install openssh-server),然後在路由器上設定連接埠轉送。當然,您還需要在本機的 SSH 防火牆設定中新增例外。

通常也會建議您強制公鑰認證而不是使用密碼來增加安全性。

另請注意,您應該設定靜態 IP 位址,這樣您的連接埠轉送配置就不會因為 DHCP 而在不合時宜的時間中斷。雖然大多數路由器傾向於讓您的電腦保留您的 IP 位址,但這並不總是有效的解決方案,並且不能解決臨時連線遺失的問題。通常最好建置靜態 NAT IP,以保證其正常運作。

當您外出時,您只需透過 SSH 連接到您的公用 IP,就可以存取您的電腦。您也可以考慮使用動態網域解析提供者為您的路由器分配域名,因此您的 ISP 推送的任何 IP 變更也不會影響您的連線。

請注意,向全球 SSH 開放伺服器會產生(非常輕微的)安全隱患。大多數情況下,這會導致您的伺服器被嘗試查找安全性較差的伺服器的自動機器人多次執行 ping 操作。不使用標準使用者名稱(例如admin)和基於金鑰的身份驗證幾乎總是會將他們拒之門外。如果你真的很擔心,你可以使用 22 以外的連接埠(儘管智慧機器人或人類會nmap在連接埠 22 關閉時嘗試),使用失敗2Ban, 或兩者。假設適當的安全協定到位,惡意機器人可以實施的絕對最嚴重的攻擊就是向您的硬碟寫入相當數量的日誌條目。


如果您是多層 NAT 之間的不幸個體之一(某些 ISP 會執行稱為運營商級 NAT 的操作),那麼這會變得更加複雜。您將需要 VPN 或其他一些方法來代理您的 SSH 隧道。當然,您也可以向 ISP 請求端口,但成功率可能會有所不同。

相關內容