[Ubuntu] 使用 PuTTY 產生的 SSH KEY 來達到免密碼登入
前言
最近看了一下 VPS 的 log,發現一直有人在踹密碼,所以決定把 ssh 密碼驗證給關掉,改用 SSH KEY 來做登入驗證。
操作
1. 產生一對公私鑰
- 首先在 Windows 上執行
PuTTYgen
- 選擇
Genarate a public/private key pair
- 產生後將
Private Key
給儲存起來 - 接下來將
Public Key
欄位複製起來,待會要用
2. 將公鑰儲存至遠端主機
- 登入遠端主機
- 編輯
.ssh/authorized_keys
1
vim .ssh/authorized_keys
- 將剛剛複製的
public key
給貼上,authorized_keys
可以儲存複數支公鑰 - 儲存完畢後登出
3. 使用 PuTTY 測試登入
- 打開
PuTTY
- 到左半邊的
Connection > SSH > Auth
內找到Private key file for authentication
選擇剛剛儲存的私鑰 - 回到
Session
,輸入遠端主機 IP 位置 - 測試一下是否能正常登入
4. 修改 ssh 設定
成功的話接下來編輯
/etc/ssh/sshd_config
關閉密碼驗證1
sudo vim /etc/ssh/sshd_config
找到下面兩行,關閉 root 登入以及關閉密碼驗證
1
2PermitRootLogin no
PasswordAuthentication no儲存後重啟服務
1
sudo service sshd restart
5. 使用 PuTTY 確認密碼驗證及 root 帳號登入是否成功關閉
- 成功關閉的話 PuTTY 會彈出下列訊息
1
Disconnected: No supported authentication methods available (server sent: publickey)