設置密鑰對驗證整過細節包含四步:
a.首先要在SSH客戶端以root用戶身份創建密鑰對
b.客戶端將創建的公鑰文件上傳至SSH服務端
c.服務端將公鑰信息導入用戶root的公鑰數據庫文件
d.客戶端以root用戶身份連接服務器端root用戶測試
1、在客戶端創建密鑰對
在Linux客戶端中通過 ssh-keygen命令 工具爲當前登錄用戶創建密鑰對文件,可用的加密算法:ECDSA(新算法)、RSA、 DSA, 通過-t選項指定。
[root@localhost ~]# ssh-keygen -t ecdsa
[root@localhost ~]# Is -| .ssh/id_ ecdsa 查看祕鑰創建的
新生成的密鑰對文件中,id_ ecdsa 是私鑰文件,默認爲600,對於私鑰文件必須妥善保管,不能泄給他人。id_ _ecdsa. pub是公鑰文件,用來提供給SSH服務器。
2、將公鑰上傳至服務器
(1)任何方式均可(共享FTP、 Email、 SCP、 …
[root@localhost ~]# scp .ssh/id_ecdsa.pub root@192.168.200.22:/root/
先存放到/root目錄下
3、服務端:在服務器中導入公鑰文本
在服務器中目標用戶的公鑰數據庫位於~.ssh目錄默認的文件名爲authorized_ keys, 如果文件不存在用戶需要自己創建。
[root@localhost ~]# cat id_ecdsa.pub >> .ssh/authorized_keys
還需注意公鑰庫文件authorized_ keys的權限。
[root@localhost ~]# ls -l .ssh/authorized_keys
-rw-r--r-- 1 root root 176 3月 10 21:01 .ssh/authorized_keys
第2步和第3步可以採用另外一種方式實現
[root@localhost ~]# ssh-copy-id -i .ssh/id_ecdsa.pub root@192.168.200.22
4.在客戶端使用祕鑰相對驗證
(1)確認服務端配置文件/etc/ssh/sshd_configE 3開啓密鑰對認證
65 PasswordAuthentication yes #啓用密碼驗證
43 PubkeyAuthentication yes #啓用密鑰對驗證
48 AuthorizedKeysFile .ssh/authorized_ keys #指定公鑰庫文件
(2)客戶端使用密鑰對驗證登錄:
[root@localhost ~]# ssh [email protected]