如何实现centos7中俩个服务器或三个及三个以上的服务器免密登录呢?
首先我们创建三个节点 记为node1、node2、node3
原理:
1)首先在node1的节点上生成密钥 记为 ssh-keygen
2)将公钥拷贝到node2和node3的节点
3)由node1向node2、node3的节点发送连接请求 请求的信息包括 :用户名、ip地址等
4)node2和node3会从接收到的数据中查看是否有相同的用户名、ip地址等如果发现node2和3节点存在相同的信息就会随机生成一个string字符串
5)在由公钥加密由node2和node3节点发送给node1
6)node1节点接收到发来的字符串后,会用私钥进行解密处理 然后将解密后的字符串重新发给node2和node3
7)node2和node3接收到由node1发送的数据后会和先前随机生成的字符串进行比较 如果相同则运行免密登录
以上就是免密登录的所有逻辑原理
接下来我们来实践下:
centos都会自带 openssh-server即使是最小的安装也会带有 所以我们只需要按照openssh客户端即可
输入命令 yum -y install openssh-clients
然后用ssh -version 来查看是否按照成功出现版本提示 则表示按照成功
查看、启动、ssh命令
systemctl status sshd
systemctl start sshd
在三个节点上分别进入到~/.ssh输入 ssh-keygen -t rsa 然后连续回车4次
提示:(解决找不到.ssh目录 如果执行~/.ssh找不到.ssh目录是因为没有使用过ssh登录过 使用ssh登录以下即可生成.ssh目录 之后再重新生成密钥即可)
提示:(ssh的权限必须是800 .ssh/authorized文件权限必须是600)
在node1节点上输入 ssh-keygen 遇到提示回车即可
分辨出公钥的提示为id_rsa.pub和私钥的提示为id_rsa
移动id_rsa.pub文件到node2和node3节点的~/.ssh目录下
再node3节点上分别输入命令:ssh-copy-id -i node1输入密码 ssh-copy-id -i node2 输入密码 然后输入命令 ssh-copy-id -i node3
验证免密登录
ssh 192.168.10
- 点赞
- 收藏
- 关注作者
评论(0)