SSH原理:
要实现ssh免登陆,其实只需要将其他两台机器的锁挂到一台机器的门上,然后将这台机器的门给其他两台机器,也就是在三台机器上都生成秘钥和公钥,将其他两台机器上的公钥(id_rsa.pub)都追加到一台机器上的authorized_keys这个文件的后面,然后将这台机器的门(authorized_keys)分别发给其他两台机器。这时候三台机器都拥有同一个门,上面都有自己的锁,都可以用自己的秘钥打开,这样就实现了三台机器之间的免登陆
步骤如下:
1、使用root用户登录,进入到目录/root/.ssh
2、执行命令:ssh-keygen -t rsa
一直按回车,完成后会在目录/root/.ssh下面生成文件 id_rsa 和 id_rsa.pub
3、重复1、2,直到要免密登录的所有机器都生成了id_rsa和id_rsa.pub文件和authorized_keys
4、将其他机器的公钥拷贝到第一台机器authorized_keys文件中:
cat id_rsa.pub>> authorized_keys
ssh root@host1 cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh root@host2 cat ~/.ssh/id_rsa.pub>> authorized_keys
6、将第一台机器的authorized_keys复制到其他机器
scp /root/.ssh/authorized_keys host1:/root/.ssh/
scp /root/.ssh/authorized_keys host2:/root/.ssh/
提示报错:Permission denied, please try again.
可能原因:
1、目录或文件没有写权限(默认不会),解决:chmod 700 .ssh chmod 644 authorized_keys
2、ssh服务需要修改下配置,解决:
修改目标服务器的/etc/ssh/sshd_config中的PermitRootLogin 为 yes ,然后重启ssh(systemctl restart sshd.service)
7、验证(第一次需密码)
ssh ip
注意:本文归作者所有,未经作者允许,不得转载