您的位置:首页 > 其它

解决SSH免密登录配置成功后不生效问题

2017-11-12 17:38 375 查看

问题描述

今天配置SSH免密登录时,使用
ssh-keygen
命令成功生成了公钥和私钥,并且也执行了
ssh-copy-id 机器地址
将公钥添加到了服务器的authorized_keys文件中。紧接着用
service sshd restart
命令重启了SSH服务,但当执行 ssh 登录命令时仍然需要密码。



解决方案

一、查看系统安全日志,定位问题

执行
sudo cat /var/log/secure
查看系统的安全日志,然后再安全日志中看到SSH登录过程中提示了如下错误:

Authentication refused: bad ownership or modes for directory /home/skyler



二、解决SSH Authentication Refused问题

从日志中我们已经分析出了错误的具体原因,提示我们
/home/skyler
目录的属主和权限配置不当。然后上网查找资料得知:SSH不希望home目录和~/.ssh目录对组有写权限,于是执行以下命令进行更改:

chmod g-w /home/skyler

执行完成后,重启SSH服务再次执行ssh 登录时发现已经实现了免密登录,问题解决:



扩展说明

SSH进行认证的过程中除了对用户目录有权限要求外,对 .ssh 文件夹和 authorized_keys 文件同样也要限制,如果日志中提示这两个的问题,可以通过如下方式进行修改:

chmod 700 /home/skyler/.ssh

chmod 600 /home/skyler/.ssh/authorized_keys

SSH登录过程如果出现问题除了查看上述
/var/log/secure
文件外,还可以通过在 ssh 命令后添加调试参数
-vvv
来查看调试信息(eg:
ssh -vvv localhost
便会以调试模式来执行本次ssh命令),以此来更好的定位问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐