Linux主机ssh使用秘钥方式实现免登陆互通配置方式
作者:超哥同学
实际工作中,会有多台服务器间ssh互相通信的需求,而且要求免登陆直接ssh互通。
本教程我们就来一步步配置实现多台服务器间的ssh免登陆功能。
环境说明
- 两台虚拟机centos6.9系统。
- 机器1:192.168.65.2。
- 机器2:192.168.65.3。
- ssh采用openssh软件。
1、在两台主机上执行ssh-keygen -t rsa命令生成秘钥
会在用户家目录的.ssh文件夹下生成ssh的配置文件
2、将两台主机彼此的公钥
配置到另一台机器的ssh配置文件中
在此之前,需要将所有的机器中的ssh服务开启,命令为:service sshd start。
开启两台机器的ssh服务后,将自己的id_rsa.pub的配置文件上传到彼此的ssh配置文件中。
执行命令为:ssh-copy-id -i id_rsa.pub 用户名@IP地址。
在192.168.65.2的机器上执行命令,将自己的公钥id_rsa.pub传入到192.168.65.3的机器上。
执行上一步操作后,切换登陆到192.168.65.3的机器上,可以看到在家目录的.ssh文件夹下,多了一个文件authorized_keys文件,此文件中记录了刚刚由192.168.65.2机器传过来的公钥信息。
下面我们在192.168.65.3的机器上执行命令,将自己的公钥id_rsa.pub传入到192.168.65.2的机器上。具体操作同上一步。
至此我们就完成了ssh密钥的相关配置,接下来就是见证奇迹的时刻,我们来验证下是否成功~ready go!
3、验证ssh互通情况
在192.168.65.2的机器上执行ssh root@192.168.65.3命令,登陆192.168.65.3机器,没有输入密码登陆成功。
在192.168.65.3的机器上执行ssh root@192.168.65.2命令,登陆192.168.65.2机器,没有输入密码登陆成功。
以上就是双机彼此ssh免登陆互通的配置,重点在秘钥的生成和传递,中间的坑会出现时,记得确保authorized_keys文件要具有读写权限。
总结
这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。