centos7:ssh免密登陆设置

SSH原理:

1607584479(1).png

要实现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


已有 0 条评论

    欢迎您,新朋友,感谢参与互动!