设置密钥对验证整过细节包含四步:
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 root@192.168.200.22