解决Linux普通用户配置SSH免密登录不生效


问题描述

在centos下,使用公钥配置非root用户免密登录后,尝试登录时仍需输入密码。

解决思路

  1. 在服务器端使用/usr/sbin/sshd -d -p 23在23端口以debug模式在前台启动sshd;
  2. 在客户端使用ssh -p 23 user@server_ip尝试连接,查看服务端报错信息。

上述操作后,服务端报错提示~/.ssh/authorized_keys因为文件权限问题不能打开,说明是authorized_keys文件权限有问题。
~/.ssh权限设置成700,~/.ssh/authorized_keys设置成600,再次在debug端口尝试连接。
debug端口可以连接成功,但是默认22端口仍然连接失败,在/etc/ssh/sshd_config中将LogLevel改为Debug,重启sshd服务,再次尝试连接,同时使用tail -f /var/log/secure实时查看日志信息。
仍然报错提示~/.ssh/authorized_keys因为文件权限问题不能打开。

考虑是SELinux权限问题导致。在用户路径下执行restorecon -FRv ~/.ssh重置ssh路径的安全上下文,再次尝试无密码连接,成功


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM