解决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命令),以此来更好的定位问题。
相关文章推荐
- 解决密码中包含{},密码修改成功后, 查询分析器无法用此密码登录的问题
- 已成功与服务器建立连接,但是在登录前的握手期间发生错误"问题解决方案
- H3C交换机dot1X+AD+IAS+CA配置实验(解决用户尚未登录无法验证问题)
- 解决密码中包含{},密码修改成功后, 查询分析器无法用此密码登录的问题
- 解决密码中包含{},密码修改成功后, 查询分析器无法用此密码登录的问题
- 解决密码中包含{},密码修改成功后, 查询分析器无法用此密码登录的问题
- 解决Myeclipse8.5总是报内存不够。修改了Myeclipse.ini配置文件却不生效问题
- 解决新配置虚拟主机不生效的问题
- 已成功与服务器建立连接,但是在登录前的握手期间发生错误"问题解决方案
- 疑难问题解决备忘录(3)——ubuntu12.04配置vsftp本地用户登录
- 解决apache httpd + tomcat session复制失败导致登录不成功问题
- 解决密码中包含{},密码修改成功后, 查询分析器无法用此密码登录的问题
- 【配置DATAGUARD 时的监听静态注册不成功】 问题解决
- sql2005管道的另一端上无任何进程、已成功与服务器建立连接,但是在登录过程中发生错误 一系列问题完整解决方法
- 解决密码中包含{},密码修改成功后, 查询分析器无法用此密码登录的问题
- SQL SERVER问题解决:已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 命名管道提供程序, error: 0 - 管道的另一端上无任何进程。)
- 症状解决,原因不详的用非默认管理权限账户登录COM注册成功但找不到类型问题
- 解决密码中包含{},密码修改成功后, 查询分析器无法用此密码登录的问题
- SQL SERVER问题解决:已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 命名管道提供程序, error: 0 - 管道的另一端上无任何进程。)
- 解决密码中包含{},密码修改成功后, 查询分析器无法用此密码登录的问题