ssh 公钥免密码登陆失败的缘由与解决办法

在使用 ssh-copy-id 成功复制公钥到远程主机以后,使用 ssh 登陆依然提示须要密码,能够的缘由为: linux

  1. 权限问题
  2. SSHD配置问题
  3. 若是是 RedHat/CentOS,还有多是启用了 selinux 的问题


1、权限问题的解决办法: shell

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

命令以下 ssh

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


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

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

修改以后,重启 sshd,例如: rest

service sshd restart
或
service ssh restart


3、RedHat/CentOS的selinux问题 code

若是RedHat/CentOS开启了selinux,会致使不少怪异的问题,绝大多数生产环境不须要selinux,安装完系统以后,第一件事就应该把selinux关闭。方法是编辑 /etc/sysconfig/selinux ,改为: it

SELINUX=disabled

再重启系统 io

reboot
相关文章
相关标签/搜索