ssh 公钥免密码登录失败的原因与解决办法
博客专区 > heiing 的博客 > 博客详情
ssh 公钥免密码登录失败的原因与解决办法
heiing 发表于4年前
ssh 公钥免密码登录失败的原因与解决办法
  • 发表于 4年前
  • 阅读 187
  • 收藏 6
  • 点赞 0
  • 评论 1

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: ssh 公钥免密码登录失败可能是权限、配置或selinux的原因。

在使用 ssh-copy-id 成功复制公钥到远程主机之后,使用 ssh 登录依然提示需要密码,可以的原因为:

  1. 权限问题
  2. SSHD配置问题
  3. 如果是 RedHat/CentOS,还有可能是启用了 selinux 的问题


一、权限问题的解决办法:

  1. 远程主机对应用户的 ~ 目录,权限应为 550 或 750;
  2. 远程主机对应用户的 ~/.ssh 目录,权限应为 700;
  3. 远程主机对应用户的 ~/.ssh/authorized_keys 文件,权限应为 600

命令如下

chmod 775 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys


二、配置问题,编辑 /etc/ssh/sshd_config 文件,确保以下参数的值一致:

PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
# 如果必需,关闭严格模式
StrictModes no

修改之后,重启 sshd,例如:

service sshd restart
或
service ssh restart


三、RedHat/CentOS的selinux问题

如果RedHat/CentOS开启了selinux,会导致很多怪异的问题,绝大多数生产环境不需要selinux,安装完系统之后,第一件事就应该把selinux关闭。方法是编辑 /etc/sysconfig/selinux ,改成:

SELINUX=disabled

再重启系统

reboot


共有 人打赏支持
粉丝 12
博文 29
码字总数 12802
作品 1
评论 (1)
路小磊
学习了。
×
heiing
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: