前言
使用 SSH Key 登入比密碼更安全,也更方便(不用每次輸入密碼)。本文教你如何設定。
步驟一:在客戶端產生金鑰
在你的電腦(要連線的那台)執行:
ssh-keygen -t ed25519
一路按 Enter 即可。Ed25519 是目前推薦的加密演算法,速度快且安全。
產生的檔案:
~/.ssh/id_ed25519— 私鑰(不要外洩!)~/.ssh/id_ed25519.pub— 公鑰(可以分享)
步驟二:將公鑰傳送到伺服器
最快的方式是使用 ssh-copy-id:
ssh-copy-id -i ~/.ssh/id_ed25519.pub 使用者@伺服器IP
例如:
ssh-copy-id -i ~/.ssh/id_ed25519.pub mk@192.168.89.168
輸入一次密碼後,公鑰就會被加入伺服器的 ~/.ssh/authorized_keys。
步驟三:手動設定(如果沒有 ssh-copy-id)
1. 在客戶端查看公鑰內容:
cat ~/.ssh/id_ed25519.pub
2. 複製整行內容,然後在伺服器執行:
mkdir -p ~/.ssh
echo "貼上你的公鑰內容" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
步驟四:測試登入
現在應該可以直接登入而不需要密碼:
ssh mk@192.168.89.168
步驟五:停用密碼登入(選用但推薦)
確定 Key 可以登入後,建議關閉密碼登入以增加安全性:
1. 編輯伺服器上的 SSH 設定:
sudo nano /etc/ssh/sshd_config
2. 找到並修改以下設定:
PasswordAuthentication no
PubkeyAuthentication yes
3. 重啟 SSH 服務:
sudo systemctl restart ssh
注意事項
- 在停用密碼登入前,務必確認 SSH Key 已經可以成功登入,否則會把自己鎖在外面
- 私鑰 (
id_ed25519) 絕對不要外洩或複製到不信任的地方 - 如果需要從多台電腦登入,每台都要產生自己的金鑰對
發佈留言