密碼登入是一台新伺服器最薄弱的環節:機器人掃描網際網路,全天候用猜測敲打 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 上,金鑰也是讓存取權真正歸您所有的方式。
評論
目前還沒有評論。歡迎成為第一位。