一、应用场景
ssh免密互信在实际工作场景中应用较为广泛,如:自动化运维、远程登录管理服务器、文件传输及同步、应用部署等。
二、原理
其原理主要通过公钥认证实现,公钥认证基于RSA算法进行认证,使用一对密钥进行加密及解密,公钥进行加密,私钥进行解密。
三、具体操作
1、准备环境
首先准备两台虚拟机(ip地址可根据自身实际情况进行具体配置),我这里是:
master:192.168.120.129
node2:192.168.120.131
2、两台服务器上分别执行shh-keygen -t rsa命令,然后一直按回车分别生成对应的key文件;
ssh-keygen -t rsa
3、此时我们继续执行ssh-copy-id 对应服务器的ip命令,如:
ssh-copy-id 192.168.120.129
[root@node2 .ssh]# ssh 192.168.120.129
ssh-copy-id 192.168.120.131
注意:值得一提的是,我在node2上执行ssh-copy-id 192.168.120.129命令时出现报错:
我上网搜索了一下,发现原因是主机记录的公钥有改变,所以报错:Host key verification failed。
解决方法:
(1)vim ~/.ssh/known_hosts
[root@node2 .ssh]# vim ~/.ssh/known_hosts
(2)将文件内记录的,刚才无法登录的主机的公钥删除
(3)在当前服务器node2上继续执行ssh-copi-id 192.168.120.129,命令执行成功,无报错:
4、在192.168.120.131上执行ssh 192.168.120.129:
在192.168.120.129上执行ssh 192.168.120.131:
均登录成功,至此,SSH配置免密登录顺利完成。