搬瓦工KiwiVM面板配置SSH密鑰登錄
更多語言
更多操作
在日常運維中,我們通常SSH遠程管理Linux服務器。默認情況下,SSH使用「用戶名 + 密碼」方式登錄,如果密碼強度不足,服務器很容易遭受暴力破解或字典攻擊。
雖然可以通過修改SSH監聽端口來降低被掃描的概率,但這種方式只能起到一定的防護作用,並不能從根本上解決安全問題。更安全、也更推薦的做法,是使用SSH密鑰認證。通過密鑰方式登錄,可以有效避免密碼被破解的風險。
在搬瓦工的KiwiVM控制面板中,可以直接管理和配置SSH密鑰,無需複雜的手動操作即可完成密鑰部署。
1 生成密鑰對
常見客戶端都有密鑰對生成的功能。下面以Xshell舉例,其他客戶端的密鑰對創建流程大致相同,不再逐一展開,可自行搜索。
打開Xshell軟件,依次點擊菜單欄的工具=>用户密钥管理者:
生成密钥参数保持默認即可,一直點擊下一步,直到出現以下界面:
密钥名称: 建議用容易標識的名字命名,例如"MINICHICKEN",這樣就知道這個密鑰是用在"MINICHICKEN"服務器上。
密码: 可選,如果給密鑰設置了密碼,本質上是給私鑰再加一層「鎖」,會使私鑰以加密形式保存,即便私鑰被竊取或泄露,攻擊者仍需破解該密碼才能使用,從而顯著提高攻擊難度。
如果未設置密碼,點擊下一步後,Xshell會詢問是否繼續,點擊是即可。
需要注意的是:以上設置完成後,應該繼續點擊下一步,而不是完成。
完成以上步驟後,就會生成新的密鑰對,私鑰會自動保存在Xshell中,公鑰需要我們配置到服務器上:
注意:請將上面Xshell生成的公鑰複製或者保存好,後面步驟還會需要。
2 在搬瓦工KiwiVM面板配置SSH公鑰
在搬瓦工中,有兩個地方可以配置SSH公鑰。一個是在Manage SSH Keys頁面配置,另一個是在KiwiVM面板中配置。
提示:以下兩種配置方法中任選一種即可。
2.1 在Manage SSH Keys頁面中配置
打開搬瓦工官網後,點擊Client Area=>Services=>My Services=>Manage SSH Keys:
將Xshell生成的公鑰粘貼在此處,然後點擊Save SSH keys即可將SSH公鑰保存到搬瓦工系統中。
2.2 在KiwiVM面板中配置
另一個配置SSH公鑰的地方是在KiwiVM面板中,點擊Client Area=>Services=>My Services,在服務器列表中找到需要配置公鑰的服務器,然後點擊齒輪,再點擊Open KiwiVM:
打開KiwiVM面板後,點擊左側的SSH keys選項,將Xshell生成的公鑰粘貼到此處,然後點擊Save SSH keys即可:
2.3 在這兩個地方保存的SSH公鑰有什麼區別呢?
在Manage SSH Keys頁面中配置的SSH公鑰是被保存到Billing Panel vault中的,而在KiwiVM面板中配置的SSH公鑰則保存在KiwiVM vault中。以下是兩種不同保存位置的區別:
| 對比項 | Billing Panel vault | KiwiVM vault |
|---|---|---|
| 所屬層級 | 賬號級(全局) | VPS實例級 |
| 作用範圍 | 賬號下所有VPS | 單台VPS |
| 生效優先級 | 低 | 高 |
| 是否覆蓋對方 | 否 | 是 |
| 典型用途 | 統一密鑰管理 | 精細化控制單台VPS |
總結來說,Billing Panel vault位於搬瓦工的賬戶管理層面,屬於全局配置;而KiwiVM vault位於單台VPS的KiwiVM控制面板中,只對當前實例生效。
並且KiwiVM vault中的SSH公鑰要優於Billing Panel vault中的,當兩個位置同時配置時,會使用KiwiVM vault中的公鑰。可以通過KiwiVM面板左側SSH keys選項中的"Active set of SSH keys:"檢查當前生效的SSH公鑰。
每次重裝系統時,以上配置的SSH公鑰將自動配置到新安裝的系統中:
"These SSH keys will automatically be added to /root/.ssh/authorized_keys during each OS reinstall."
(這些SSH密鑰將在每次重裝系統時自動添加到/root/.ssh/authorized_keys中。)
3 生效SSH密鑰配置
3.1 重啟生效
完成以上步驟後,SSH配置並不會立即生效,您需要重啟系統使其生效。
3.1.1 通過KiwiVM面板重啟VPS
打開KiwiVM控制面板後,點擊左側Main controls,然後點擊Reset進行重啟:
3.1.2 Reboot重啟
在登錄VPS的情況下,運行reboot命令進行重啟。
3.2 手動配置生效(如果重啟後已生效,請忽略此步驟)
如果重啟後仍沒有生效,您可以手動配置SSH公鑰。
使用密碼登錄VPS後,執行以下命令將Xshell生成的SSH公鑰填寫到/root/.ssh/authorized_keys中:
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." > /root/.ssh/authorized_keys
將以上命令中的ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ...替換為使用Xshell生成的完整公鑰。
修改/etc/ssh/sshd_config配置文件:
vim /etc/ssh/sshd_config
檢查並調整配置文件中的以下配置項,使其值與下面示例保持一致:
# 禁止root使用密码登录,只允许使用密钥
PermitRootLogin prohibit-password
# 启用公钥认证(必须要有公钥才能登录)
PubkeyAuthentication yes
# 禁止所有用户使用密码登录
PasswordAuthentication no
注意:請檢查配置文件末尾是否存在相同的配置項,如果配置文件中存在相同的配置項,將以文件中最後出現的配置值為準。
運行以下命令重啟SSH進程:
systemctl restart sshd
4 SSH使用密鑰連接服務器
主機IP地址可以在KiwiVM面板或者郵件中查看,端口保持默認值22。名稱可自行填寫,例如MINICHICKEN。
用戶名默認為root,驗證方法勾選Public Key。
配置完成後點擊连接,並會彈出以下告警提示,點擊接受并保存即可:
然後會彈出密鑰選擇界面,用户密钥選擇剛剛創建的私鑰,然後記得勾選记住密码,不然下次連接還會彈出此窗口。點擊确定即可通過密鑰方式連接到遠程服務器:



