從外部網路透過 SSH 連接到家庭 Linux 盒子

從外部網路透過 SSH 連接到家庭 Linux 盒子

我正在家庭網路上的定制盒子上運行簡單的 Ubuntu 安裝。我可以在使用家庭 wifi 時從本地 192.xxx 位址透過 SSH 登入盒子。

我一直在嘗試以一種可以從其他網絡 SSH 進入盒子的方式進行連接,就像在工作中一樣,我想我現在已經閱讀了互聯網上關於如何做到這一點的每一篇文章。

  1. 伺服器正在運行 OpenSSH,可以從網路內連接到它。查看。
  2. 路由器 (Eero) 啟用了連接埠轉送。我有一個連接埠轉送保留設定轉送21>192.xxx:22檢查。
  3. 我可以 ping 通我的外部 IP,67.xxx(在執行此操作之前,我將筆記型電腦連接到手機的蜂窩網路)。查看。
  4. 現在我想我應該能夠做到,但這次超時了。ssh [email protected] -p 21

當我nmap在這個IP上運行時,它沒有找到任何開啟連接埠。

All 1000 scanned ports on ai.sytes.net (67.x.x.x) are filtered

運行它-nP說我有大約 999 個“過濾”端口。僅連接埠 21 被列為開放。這可能是原因之一嗎?

Starting Nmap 7.60 ( https://nmap.org ) at 2018-03-06 21:33 PST                         
Nmap scan report for yy.yy.net (67.x.x.x)                                       
Host is up (0.018s latency).                
rDNS record for 67.x.x.x: c-67-x-x-x.hsd1.ca.comcast.net                      
Not shown: 999 filtered ports               
PORT   STATE SERVICE  
21/tcp open  ftp      

Nmap done: 1 IP address (1 host up) scanned in 10.68 seconds 

編輯:當我遇到這些連接埠時,看起來 22 和另一個四位連接埠是開放的nmap -sT -p XX [host]。我也為這些設定了連接埠轉送保留,但仍然得到相同的結果。

答案1

確保您不僅提供從公用 IP 到目標私人 IP 的轉送端口,還允許防火牆上透過此連接埠和公用 IP 的傳入流量。

您沒有遇到本機 SSH 問題,因此您可以安全地將伺服器端作業系統防火牆視為您的問題。但是,擁有公用 IP 的防火牆需要將規則設定為允許 public-ip:22 上的傳入流量即使您已為該連接埠設定了跨 NAT 的轉送。

我通常建議對 SSH 使用 22,除非您有充分的理由不這樣做。一個很好的理由是另一台更重要的機器正在該連接埠上接受 SSH 連接,例如防火牆本身。這只會讓功能變得更加明顯。

答案2

您沒有明確提及配置連接埠轉送的協定(tcp、udp)。由於 ssh 使用 tcp,請確保連接埠轉送適用於「tcp」。

相關內容