Linux:SSH密钥认证登录

环境

角色ip
服务端10.0.0.41
Linux主机10.0.0.7
windows主机10.0.0.1

流程

1.在客户端生成密钥对(公钥和私钥)
2.将公钥传给服务端
3.客户端向服务端发起申请连接
4.服务端用公钥验证客户端身份
5.客户端拿私钥相应
6.如果匹配就通过认证

服务端和客户端都是Linux

1、在客户端10.0.0.7生成密钥

ssh-keygen -t rsa

一路回车即可
在这里插入图片描述

2、查看生成的文件

id_rsa是私钥,id_rsa.pub是公钥,known_hosts是登录主机的记录

ls -a .ssh/

在这里插入图片描述

3、将公钥传输给服务端

ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.41

客户端
在这里插入图片描述
服务端
在这里插入图片描述

4、客户端验证

ssh root@10.0.0.41

在这里插入图片描述

服务端是Linux,客户端是windows

1、通过xshell软件生成密钥

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、将公钥传输给服务端

服务端

vim .ssh/authorized_keys

将刚才复制的公钥,添加到该文件的尾部

3、修改连接服务器的会话属性

新建一个连接
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述