Linux系統大多數都支持OpenSSH,生成公鑰、私鑰的最好用ssh-keygen命令,若是用putty自帶的PUTTYGEN.EXE生成會不兼容OpenSSH,從而會致使登陸時出現server refused our key錯誤。linux
一、root用戶登錄後,運行如下第一句指令,其餘根據提示進行輸入:安全
ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): #建議直接回車使用默認路徑 Created directory '/root/.ssh' Enter passphrase (empty for no passphrase): #輸入密碼短語(留空則直接回車) Enter same passphrase again: #重複密碼短語 Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 05:71:53:92:96:ba:53:20:55:15:7e:5d:59:85:32:e4 root@test The key's randomart image is: +--[ RSA 2048]----+ | o o .. | | . o oo.+ . | | o.+... = | | ...o | | o S | | . | | | | | | | +--------------------+
此時在/root/.ssh/目錄下生成了2個文件,id_rsa爲私鑰,id_rsa.pub爲公鑰。私鑰本身下載到本地電腦妥善保存(丟了服務器可就無法再登錄了),爲安全,建議刪除服務器端的私鑰。公鑰則能夠任意公開。bash
二、使用如下命令將公鑰導入到VPS:服務器
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
三、修改SSH的配置文件/etc/ssh/sshd_config :dom
#RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys
去掉上面3行前面的#,保存後重啓SSH服務。ssh
service sshd restart
至此你的linux服務器已經支持使用SSH私鑰證書登陸。在你使用SSH Key登陸驗證成功後,仍是爲了安全,建議你關閉root用戶使用密碼登錄,關閉的方法以下:ide
修改SSH的配置文件/etc/ssh/sshd_config,找到下面1行:加密
PasswordAuthentication yes
修改成:rest
PasswordAuthentication no
保存後重啓SSH服務。code
service sshd restart
好了,至此只要你保存好你的私鑰(爲安全,建議刪除服務器端的私鑰),你的服務器相比原來使用root用戶加密碼登錄來講已經安全多了。