Linux教程

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

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

这篇关于解决Linux普通用户配置SSH免登录不生效的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!