解决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路径的安全上下文,再次尝试无密码连接,成功

posted @ 2022-04-21 10:21  秦一觉  阅读(3303)  评论(0编辑  收藏  举报