文章目录
免密登录原理图解,server A免登录到server B:
- 在A上生成公钥私钥。
- 将公钥拷贝给server B,要重命名成authorized_keys(从英文名就知道含义了) 将公钥拷贝给server B,要重命名成authorized_keys(从英文名就知道含义了)
- Server A向Server B发送一个连接请求。 Server A向Server B发送一个连接请求。
- Server B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用ServerServer B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用ServerA的公钥加密,发送给Server A。
- Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登录。Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登录。
总之:A要免密码登录到B,B首先要拥有A的公钥,然后B要做一次加密验证。对于非对称加密,公钥加密的密文不能公钥解开,只能私钥解开。
三个节点
192.168.2.4 node1
192.168.2.7 node2
192.168.2.8 node3
使用node1节点免密登录node2和node3
安装openssh-serve
yum install openssh-server
修改主机名,添加映射(三个节点都要添加)
hostnamectl set-hostname node1
hostnamectl set-hostname node2
hostnamectl set-hostname node3
添加映
关闭防火墙
关闭selinux(1.临时关闭2.永久关闭)
生成秘钥并把秘钥拷贝
linux系统配置免密码的方式:
1:ssh-keygen -t rsa
生成密钥
2:ssh-copy-id -i ~/.ssh/id_rsa.pub jifeng@jifeng02
把本机的公钥追到jifeng02的 .ssh/authorized_keys 里
3:测试
[jifeng@jifeng04 .ssh]$ ssh jifeng02
Last login: Thu Aug 7 16:37:55 2014 from jifeng04
[jifeng@jifeng02 ~]$
4:如果ssh的端口不是22,可用下面命令
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 23 jifeng@jifeng03"