SSH密鑰
什么是SSH密鑰
SSH密鑰是一種無須密碼登錄Linux實(shí)例的認(rèn)證方式。
通過加密方法生成一對(duì)SSH密鑰,一個(gè)對(duì)外公開密鑰,成為公鑰,一個(gè)由您保密保存,稱為私鑰。 將公鑰存放于您的Linux實(shí)例中,私鑰存放在本地機(jī)器中,即可使用SSH命令進(jìn)行遠(yuǎn)程連接。
SSH密鑰的優(yōu)勢(shì)
SSH密鑰的安全強(qiáng)度遠(yuǎn)高于用戶使用密碼。
只需配置SSH私鑰,即可遠(yuǎn)程連接,無需重復(fù)輸入密碼。
使用限制
SSH密鑰對(duì)僅支持Linux系統(tǒng)創(chuàng)建。
創(chuàng)建SSH密鑰操作步驟
使用VNC或服務(wù)器賬號(hào)密碼連接Linux實(shí)例。
打開終端,輸入以下指令,查看是否已經(jīng)生成SSH秘鑰。
ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist
如果有文件id_rsa.pub 或 id_dsa.pub 說明已經(jīng)創(chuàng)建過SSH密鑰,導(dǎo)入即可。
生成新的SSH密鑰。
在服務(wù)器上制作密鑰對(duì)。首先用密碼登錄到您打算使用密鑰登錄的賬戶,然后執(zhí)行以下命令:
[root@host ~]$ ssh-keygen <== 建立密鑰對(duì)
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 輸入密鑰鎖碼,或直接按 Enter 留空
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: xxxxxxx
創(chuàng)建完成,安裝公鑰。
輸入以下命令,在服務(wù)器上安裝公鑰:
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys
如此便完成了公鑰的安裝。為了確保連接成功,請(qǐng)保證以下文件權(quán)限正確:
[root@host .ssh]$ chmod 600 authorized_keys
[root@host .ssh]$ chmod 700 ~/.ssh
設(shè)置SSH,打開密鑰登錄。
編輯 /etc/ssh/sshd_config 文件,進(jìn)行如下設(shè)置:
RSAAuthentication yes
PubkeyAuthentication yes
另外,請(qǐng)留意 root 用戶能否通過 SSH 登錄:
PermitRootLogin yes
當(dāng)您完成全部設(shè)置,并以密鑰方式登錄成功后,再禁用密碼登錄:
PasswordAuthentication no
最后,重啟 SSH 服務(wù):
[root@host .ssh]$ service sshd restart