−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

EQVPS
開始使用

如何在 VPS 上設定 SSH 金鑰認證

用一對 SSH 金鑰替代密碼登入:產生金鑰、把公鑰複製到伺服器、測試登入,然後關閉密碼登入。這是任何新 VPS 最大的一項安全提升,只需幾條指令。

密碼登入是一台新伺服器最薄弱的環節:機器人掃描網際網路,全天候用猜測敲打 22 埠。把密碼換成一對 SSH 金鑰能徹底移除這一攻擊面,也是任何新 VPS 上第一件值得做的事。下面是完整流程,只需幾條指令。

SSH 金鑰如何工作

您產生一對金鑰:私鑰留在您的電腦上,公鑰放到伺服器上。伺服器會質詢任何連線者;只有持有符合私鑰的人才能應答。您可以隨意分發公鑰——要保護的是私鑰。

1. 產生一對金鑰(在您自己的電腦上)

ssh-keygen -t ed25519 -C "you@example.com"
# 按 Enter 接受預設路徑 (~/.ssh/id_ed25519)
# 設定一個 passphrase 以增加安全性,或留空

這會建立兩個檔案:~/.ssh/id_ed25519(私鑰——切勿分享)和 ~/.ssh/id_ed25519.pub(公鑰)。

2. 把公鑰複製到伺服器

如果您還能用密碼登入,簡單的方法:

ssh-copy-id root@YOUR.SERVER.IP

沒有 ssh-copy-id?手動來:

cat ~/.ssh/id_ed25519.pub | ssh root@YOUR.SERVER.IP \
  "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

3. 改動任何東西之前,先測試金鑰

開啟一個新的終端並登入——不應再被要求輸入伺服器密碼:

ssh root@YOUR.SERVER.IP

如果成功,做下一步時保持這個工作階段開著,這樣出錯也不會把您鎖在外面。

4. 關閉密碼登入

在伺服器上編輯 /etc/ssh/sshd_config:

sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh    # 有些發行版服務名為 sshd

從此只有您的金鑰能進入,22 埠上持續的暴力破解噪聲就直接被彈開了。

誠實的提醒

  • 金鑰生效之前,絕不要關閉密碼。 先在第二個終端確認金鑰登入——這是防止把自己鎖在外面的唯一規則。
  • 備份您的私鑰,並考慮再加一把金鑰(一台筆電加一把備用),這樣遺失一台裝置不會造成鎖死。
  • 萬一真被鎖在外面,服務供應商控制台能讓您回來——EQVPS 正是為此給每台 VPS 配了瀏覽器控制台。

下一步

SSH 金鑰是加固伺服器的第一步。搭配一個防火牆——見如何設定 UFW 防火牆和如何設定 fail2ban——並在對外暴露任何東西之前走一遍新 VPS 安全清單。在無 KYC、加密貨幣付款的 VPS 上,金鑰也是讓存取權真正歸您所有的方式。

如何把檔案傳到 VPS:scp、rsync 和 SFTP →

常見問題

為什麼用 SSH 金鑰而不是密碼?

密碼可以被猜測或暴力破解;機器人不停地敲打 22 埠。一對 SSH 金鑰幾乎無法被猜到,而一旦您關閉密碼登入,那些暴力嘗試就直接失敗。它也更方便——您無需每次都輸入密碼就能登入。

公鑰和私鑰有什麼區別?

這對金鑰是一起產生的。私鑰(id_ed25519)留在您自己的電腦上,永不共享。公鑰(id_ed25519.pub)複製到伺服器。誰都可以安全地持有您的公鑰;只有符合的私鑰才能登入,所以要守護好私鑰。

該產生 ed25519 還是 RSA?

現代場景一律用 ed25519:金鑰更短、更快、且安全。只有在必須連線不支援 ed25519 的老系統時才用 RSA(至少 4096 位)。下面的指令使用 ed25519。

如果我弄丟了私鑰怎麼辦?

您就失去了那條登入途徑。如果密碼登入還開著,用它新增一把新金鑰;如果您關掉了密碼,用服務供應商的控制台(EQVPS 有瀏覽器控制台)進去並新增新公鑰。請備份您的私鑰,並考慮再加一把金鑰,這樣遺失一把也不會被鎖在門外。

完全關閉密碼登入安全嗎?

安全——前提是您的金鑰已經生效,並且您確認能用它登入。在關閉目前工作階段之前,先在第二個終端裡測試金鑰,這樣出錯也不會把您鎖在外面。之後,關閉密碼就徹底移除了暴力破解的攻擊面。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。