該改 SSH 連接埠嗎?
把 SSH 從 22 連接埠挪走值得做,理由只有一個誠實的:它大幅減少機器人狂錘 22 連接埠的噪音,讓你的日誌能讀了。它不是真正的安全——這是「靠隱蔽求安全」,有備而來的攻擊者掃一下就找到新連接埠。所以挪它是為了降噪,別把它當成保護。真正的保護是 SSH 金鑰 + 關閉密碼登入(金鑰 vs 密碼)。本文講誠實的取捨和怎麼做。
挪連接埠能做什麼、不能做什麼
- 能:擋掉廣泛網路掃描帶來的持續暴力登入嘗試,於是
auth.log不再是一牆失敗的 root 登入。對清淨和 fail2ban 的訊噪比是真的好。 - 不能:擋不住有針對性的攻擊者——連接埠掃描幾秒就找到新連接埠。一旦有人能到達這個服務,它也幫不上任何忙。
如果你的伺服器在 Tailscale 網裡、根本不暴露到公網,那其實不必改連接埠——一開始就沒有不可信的東西能到達 SSH。見 iPhone 上的 Tailscale。
怎麼改 SSH 連接埠
- 改設定:在
/etc/ssh/sshd_config裡設Port 2222(選任意 1024 以上、空閒的連接埠)。 - 重啟前先在防火牆開放它,否則你會把自己鎖在外面:
sudo ufw allow 2222/tcp(新連接埠可用後再移除 22)。 - 重啟 SSH:
sudo systemctl restart ssh。 - 用新連接埠重連——保持目前工作階段開著,在第二個連線裡測新連接埠,確認可用再關舊的。
關鍵:絕不要在沒先在防火牆開放新連接埠的情況下重啟 SSH;並且一定要在舊工作階段還活著時、用第二個工作階段測新連接埠。把自己鎖在遠端機器外面是這裡的經典翻車。
從手機做
整件事都能在行動 SSH 用戶端裡完成:用 SFTP(或終端機裡 nano)編輯 sshd_config,然後在連線的「連接埠」欄位填新連接埠號重連。如果不確定你這個發行版的確切防火牆命令,問 TermAI 助理——「在防火牆開放 2222 連接埠」——執行前先複核它給的命令。
真正讓 SSH 安全的是什麼
改連接埠是真正幾步裡最不重要的。按影響力排序:
- 金鑰認證,然後
PasswordAuthentication no——徹底幹掉密碼攻擊。 - 停用 root 登入——
PermitRootLogin no;用普通使用者登入再sudo。 - fail2ban——多次失敗後封 IP。
- 乾脆不暴露 SSH——放到 Tailscale/WireGuard 後面,只有你的裝置能到達。
- 然後,可選,改連接埠——為了日誌清淨。
常見問題
改 SSH 連接埠能提升安全嗎?
只有一點點。它減少自動掃描噪音,但擋不住有針對性的攻擊者。真正的安全來自金鑰、關閉密碼登入、不把 SSH 公開暴露。
SSH 該挪到哪個連接埠?
任意 1024 以上的空閒連接埠(如 2222)。避開常見服務連接埠。同步更新防火牆。
怎麼避免把自己鎖在外面?
重啟 SSH 前先在防火牆開放新連接埠,並在舊工作階段還連著時用第二個工作階段測新連接埠。
快速事實
- 改連接埠:減少機器人噪音;是隱蔽,不是真安全
- 怎麼做:
sshd_config裡Port→ 防火牆開放 → 重啟 → 新連接埠重連 - 別鎖自己:先開防火牆、用第二個工作階段測
- 真安全:金鑰 +
PasswordAuthentication no+ 禁 root + 放 Tailscale 後
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.