CentOS 7 ssh 免密登陆
基础信息
user | role | host | ip |
---|---|---|---|
root | source | hadoop-test1 | 192.168.1.10 |
root | target | hadoop-test2 | 192.168.1.11 |
ssh 配置
- 生成 rsa 信息
# 输入如下命令 ,一路回车,如果提示 overwrite, 选择(y)回车
ssh-keygen -t rsa
- 将生成的 公钥信息发送到目标机器
scp ~/.ssh/id_rsa.pub root@hadoop-test2:/root/
- 登陆目标机器,将上步的公钥合并到目标机器认证文件中
cat /root/id_rsa.pub >> ~/.ssh/authorized_keys
- 登陆生成公钥的机器,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)查看登陆认证日志
- 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
说明该目录的权限存在问题
- 查看该文件的权限信息
ll -a /root/.ssh/authorized_keys
-rw------- 1 mysql root 1006 Aug 5 20:44 /root/.ssh/authorized_keys
可以看到 该目录属于 mysql 用户 ,我们用 root 用户登录的所以存在权限问题
- 权限修改
chown -R root ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# 可能存在权限问题的目录如下
chown -R root ~
chmod 0755 ~
#--------------------
chown -R root ~/.ssh
chmod 700 ~/.ssh
- 权限修改后还不能通过,需要检查 sshd 认证权限配置项
vim /etc/ssh/sshd_config
# 修改配置项如下属性
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 重启 sshd 服务
sudo service sshd restart
网友评论