90729-Centos 7 ssh 免密登陆配置及登陆失败排查

CentOS 7 ssh 免密登陆

基础信息

user role host ip
root source hadoop-test1 192.168.1.10
root target hadoop-test2 192.168.1.11

ssh 配置

  1. 生成 rsa 信息
# 输入如下命令 ,一路回车,如果提示 overwrite, 选择(y)回车
ssh-keygen -t rsa

  1. 将生成的 公钥信息发送到目标机器
scp ~/.ssh/id_rsa.pub root@hadoop-test2:/root/

  1. 登陆目标机器,将上步的公钥合并到目标机器认证文件中
cat /root/id_rsa.pub >> ~/.ssh/authorized_keys
  1. 登陆生成公钥的机器,ssh 目标机器
# 登陆成功,信息如下
[root@hadoop-test1 ~]# ssh root@hadoop-test2
Last login: Mon Aug  5 21:57:16 2019 from 192.168.1.10
[root@hadoop-test2 ~]
# 登陆失败,信息如下,可参考下文登陆失败处理方案
[root@hadoop-test1 ~]# ssh root@hadoop-test2
root@hadoop-test2's password: 

ssh 免密登陆认证失败问题排查及解决

登陆到目标机器(ssh xxx.xxx.xxx.xxx)查看登陆认证日志

  1. tailf /var/log/secure
Aug  5 20:44:06 hadoop-test2 sshd[33013]: Authentication refused: bad ownership or modes for file /root/.ssh/authorized_keys

说明该目录的权限存在问题

  1. 查看该文件的权限信息
ll -a /root/.ssh/authorized_keys
-rw------- 1 mysql root 1006 Aug  5 20:44 /root/.ssh/authorized_keys

可以看到 该目录属于 mysql 用户 ,我们用 root 用户登录的所以存在权限问题

  1. 权限修改
chown -R root ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# 可能存在权限问题的目录如下
chown -R root ~
chmod 0755 ~ 
#--------------------
chown -R root ~/.ssh
chmod 700 ~/.ssh

  1. 权限修改后还不能通过,需要检查 sshd 认证权限配置项
vim /etc/ssh/sshd_config
# 修改配置项如下属性
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
# 重启 sshd 服务
sudo service sshd restart

你可能感兴趣的:(90729-Centos 7 ssh 免密登陆配置及登陆失败排查)