一、背景
centos7环境配置免密不生效,已经检查了ssh目录下文件的权限以及目录的权限,但还是无法实现免密
二、步骤
1.配置免密登录
#本机生成密钥,按回车即可
ssh-keygen
#将密钥发送至需要免密的服务器,首次需要输入服务器密码
ssh-copy-id -i ~/.ssh/id_rsa.pub root@xxxxx
2.理论上以上步骤就已经可以实现免密,但是本次就遇到了问题。排查了是sshd_config里配置的问题
#第一步排查,确认文件以及目录权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
#第二步排查,若是上述配置后仍是不生效,检查/etc/ssh/sshd_config配置,而后执行systemctl restart sshd重启sshd服务
#禁用root帐户登陆,若是是用root用户登陆请开启,若是注释掉,默认即为yes
#PermitRootLogin yes
# 是否容许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2,若是注释掉,默认即为yes。
RSAAuthentication yes
PubkeyAuthentication yes
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
AuthorizedKeysFile .ssh/authorized_keys
#第三步排查,若是上述配置以后仍是不能访问,尝试将/etc/ssh/sshd_config中的StrictModes配置改成no(若是注释掉,默认是yes的。注意这个配置可能会下降安全性),而后执行systemctl restart sshd重启sshd服务
StrictModes no