為什麼要停用 SSH 的 root 登入?
root 是每個攻擊者都已經知道的那個使用者名稱。掃網路的機器人不猜你的使用者名稱——它們對著 root 一個密碼一個密碼地試。如果你停用 root 的 SSH 登入,這整類攻擊就失效了,攻擊者現在得同時猜對使用者名稱和認證方式。你改用普通使用者登入,需要 root 時用 sudo。這是性價比最高、最省力的 SSH 加固之一。
第 1 步——先確保你有一個 sudo 使用者
在你有別的方式能進去之前,別停 root,否則會把自己鎖在外面。建一個有 sudo 權限的普通使用者:
# 以 root 身份,建用户并给 sudo
adduser alice
usermod -aG sudo alice # Debian/Ubuntu
# (RHEL/Fedora:usermod -aG wheel alice) 然後在另一個工作階段裡,確認你能用這個使用者登入、並能跑 sudo -v。確認可用之後再繼續。
第 2 步——給這個使用者配金鑰(推薦)
順手給新使用者設定金鑰認證——它才是真正的安全收益,比單純停 root 更大。把你的公鑰加到 /home/alice/.ssh/authorized_keys(TermAI 這類行動用戶端能替你部署)。見 SSH 金鑰 vs 密碼。
第 3 步——停用 root 登入
在 /etc/ssh/sshd_config 裡設:
PermitRootLogin no 然後重啟 SSH:sudo systemctl restart ssh。保持目前工作階段開著,在新連線裡確認你仍能用你的使用者登入——而 ssh root@host 現在被拒。
從手機做
這些都能在行動 SSH 用戶端裡完成:用 SFTP 或 nano 編輯 sshd_config、在終端機裡跑建使用者/sudo 命令、把儲存的連線使用者名稱從 root 改成你的新使用者。如果不確定你這個發行版的確切 usermod 群組,問 TermAI 助手——它從工作階段裡就知道你是 Debian 還是 RHEL,給出對的命令。
加固清單的其餘部分
停 root 和其它基本功天然配套,按影響力排序:
- 金鑰 +
PasswordAuthentication no——最大的收益(金鑰 vs 密碼)。 - 停用 root 登入——本文。
- fail2ban——自動封反覆試探者。
- 放 Tailscale/WireGuard 後面——乾脆不把 SSH 公開暴露。
- 可選改連接埠——為了日誌清淨(該改 SSH 連接埠嗎?)。
常見問題
怎麼停用 SSH 的 root 登入?
在 /etc/ssh/sshd_config 設 PermitRootLogin no 並重啟 SSH——前提是先建好一個你能登入的 sudo 使用者。
會把自己鎖在外面嗎?
只有跳過 sudo 使用者那步才會。停 root 前,先在另一個工作階段裡建並測試一個有 sudo 的普通使用者。
該停 root 同時也用金鑰嗎?
該——兩者互補。金鑰擋住密碼攻擊;停 root 拿掉那個人人都盯著的使用者名稱。
快速事實
- 為什麼:
root是通用的暴破目標;停掉它就擋住這類攻擊 - 怎麼做:建 sudo 使用者 → 測它 →
PermitRootLogin no→ 重啟 SSH - 別鎖自己:先在另一個工作階段確認 sudo 使用者能用
- 配套:金鑰認證 +
PasswordAuthentication no
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.