Linux系統大多說都支持OpenSSH,生成公鑰、私鑰的最好用ssh-keygen命令,如果用putty自帶的PUTTYGEN.EXE生成會不兼容OpenSSH,從而會導致登錄時出現server refused our key錯誤。
1、root用戶登陸后,運行以下第一句指令,其他根據提示進行輸入:
ssh-keygen -t rsa
一路回車。。。
此時在/root/.ssh/目錄下生成了2個文件,id_rsa為私鑰,id_rsa.pub為公鑰。私鑰自己下載到本地電腦妥善保存(丟了服務器可就沒法再登陸了),為安全,建議刪除服務器端的私鑰。公鑰則可以任意公開。
2、使用以下命令將公鑰導入到VPS:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
3、修改SSH的配置文件/etc/ssh/sshd_config :
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
去調上面3行前面的#,保存后重啟SSH服務。
service sshd restart
至此你的DigitalOcean VPS已經支持使用SSH私鑰證書登錄。在你使用SSH Key登錄驗證成功后,還是為了安全,建議你關閉root用戶使用密碼登陸,關閉的方法如下:
修改SSH的配置文件/etc/ssh/sshd_config,找到下面1行:
PasswordAuthentication yes
修改為:
PasswordAuthentication no
保存后重啟SSH服務。
service sshd restart
好了,至此只要你保存好你的私鑰(為安全,建議刪除服務器端的私鑰),你的服務器相比原來使用root用戶加密碼登陸來說已經安全多了。