1、xshell创建密钥对
2、拷贝至服务器
3、关闭密码登录
1、xshell中创建密钥对,记住给秘钥加密的密码(不加密也可以)
![](https://img.haomeiwen.com/i23590632/4a05134e43e6e93a.png)
![](https://img.haomeiwen.com/i23590632/377f1005061fe565.png)
![](https://img.haomeiwen.com/i23590632/01dcaa2e9872620c.png)
2、拷贝公钥至服务器 .ssh/authorized_keys
#上传保存的公钥文件到服务器中,把文件内容追加到.ssh/authorized_keys,没有就创建
[root@m2 ~]# cat id_rsa_2048.pub >> .ssh/authorized_keys
保存完成后,xshell界面就可以使用证书登录了,输入证书加密的密码
![](https://img.haomeiwen.com/i23590632/6865f3983f916b0a.png)
其他客户端用证书登录,需要导出自己的私钥,工具--用户秘钥管理者--选择导出,其他客户端导入就可以了
3、关闭密码登录
#证书登录成功后在关闭密码登录,别最后都登录不上就凉凉了
vim /etc/ssh/sshd_config
PasswordAuthentication yes #改成 no
重启sshd
systemctl restart sshd
公钥登录原理
1、c-主动发送自己公钥到s
2、c-发送带有指纹的请求登录s
3、s-检测是否有c的公钥,如果有就用c的公钥加密随机字符串发送给c
4、c-用自己私钥解密后发给s,对比解密后数据没有问题,就连接上了
![](https://img.haomeiwen.com/i23590632/fbfa6c4f022135f0.png)
网友评论