centos7:ssh免密登陆设置
1、使用root用户登录,进入到目录/root/.ssh
2、执行命令:ssh-keygen -t rsa
一路回车,完成后会在目录/root/.ssh下面生成文件 id_rsa和id_rsa.pub
3、将公钥写入文件authorized_keys:cat id_rsa.pub >> authorized_keys
4、重复1、2、3,直到要免密登录的所有机器都生成了id_rsa和id_rsa.pub文件和authorized_keys
5、将其他机器的公钥拷贝到第一台机器authorized_keys文件中:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip
6、将第一台机器的authorized_keys复制到其他机器
scp /root/.ssh/authorized_keys ip:/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
注:上述实现了root用户之间的免密操作,如果要实现其他用户,则使用其他用户登录,进行上述操作,生成的密钥文件会在用户目录下的.ssh下。
如果已经实现了一个用户免密,要实现其他用户免密,可以将实现免密的用户下的.ssh目录下的文件拷贝到其他用户下即可。