【总结】解决linux 配置authorized_keys 免密,登录时还是要求输入密码

1.问题现象

linux 配置authorized_keys 后还是要求输入密码,本来之前免密是好好的,但安装了一款软件后,不知道什么原因,突然就不能免密登录了。

于是重新配置authorized_keys,还是不能成功免密登录。

2.排查分析

2.1 检查SSH服务配置

检查/etc/ssh/sshd_config文件中的PasswordAuthentication选项是否被设置为no。如果是,确保你已经将其修改为no,并重启SSH服务。

# 修改配置文件
sudo vim /etc/ssh/sshd_config
# 找到并修改以下行
PasswordAuthentication no
# 保存文件并退出编辑器
# 重启SSH服务
sudo systemctl restart sshd

试了改方法,重新免密ssh 登录,还是不行。

2.2 ssh相关的目录和文件权限

继续排查:ssh相关的目录和文件权限。

权限问题:确保你的~/.ssh目录~/.ssh/authorized_keys文件的权限是正确的。~/.ssh目录的权限应该是700(即只有所有者有读写执行权限),~/.ssh/authorized_keys文件的权限应该是600。

结果显示,都是对的。如果不对的话,可以按下述方式修复:

# 修正.ssh目录权限
chmod 700 ~/.ssh
# 修正authorized_keys文件权限
chmod 600 ~/.ssh/authorized_keys

2.3 检查SELinux

SELinux问题:如果你的系统启用了SELinux,确保SELinux没有阻止SSH公钥认证。

# 查看SELinux状态
sestatus
# 如果SELinux处于启用状态,并且阻止了SSH公钥认证,你可以尝试以下命令
# 设置SELinux以允许SSH公钥认证
sudo setsebool -P sshd_pubkey_authentication 1
用户主目录权限问题:确保用户的主目录权限正确。

2.4 查看用户主目录权限

用户主目录,权限必须是700,否则ssh 免密也会不成功。
ls -ld /home/username

# 如果用户权限不正确,修改权限
sudo chown username:username /home/username
SSH客户端配置问题:检查你的SSH客户端配置文件(通常是~/.ssh/config)
确保没有禁用公钥认证。
# 查看SSH客户端配置
nano ~/.ssh/config
# 确保没有如下配置
# Host *
#   PubkeyAuthentication no
如果以上步骤都不能解决问题,请检查系统的日志文件(如/var/log/auth.log或/var/log/secure),以获取更多关于认证失败的信息。

# 如果用户权限范围不正确,修改权限
sudo chmod 700 /home/username

3.问题解决

我这里遇到的问题,刚好就是用户主目录权限被变更了。
如下图:
在这里插入图片描述
解决方法:执行 sudo chmod 700 /home/username 将用户主目录权限变更

相关推荐

  1. 配置服务器登录

    2024-04-24 13:10:05       37 阅读
  2. 服务器——配置登录

    2024-04-24 13:10:05       29 阅读
  3. hadoop配置登录

    2024-04-24 13:10:05       16 阅读
  4. linux登录

    2024-04-24 13:10:05       40 阅读
  5. vscode免费登录ssh ,linux git配置密码

    2024-04-24 13:10:05       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-24 13:10:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-24 13:10:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-24 13:10:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-24 13:10:05       18 阅读

热门阅读

  1. 【Redis】Spring Boot应用中的Redis分布式锁示例

    2024-04-24 13:10:05       12 阅读
  2. windows、Mac如何安装vue开发环境?

    2024-04-24 13:10:05       12 阅读
  3. 在Linux上开启FTP服务

    2024-04-24 13:10:05       15 阅读
  4. LeetCode 344.反转字符串

    2024-04-24 13:10:05       15 阅读
  5. 多服务器上的 docker 实现互相访问

    2024-04-24 13:10:05       16 阅读
  6. React vs React Native写法上的不同

    2024-04-24 13:10:05       14 阅读
  7. 20240423-线程基础

    2024-04-24 13:10:05       13 阅读
  8. C++orm使用插曲——MySQL保留字

    2024-04-24 13:10:05       16 阅读
  9. 如何在 Docker 和 DigitalOcean Kubernetes 上部署 Kafka

    2024-04-24 13:10:05       10 阅读
  10. 深入理解Kubernetes:kube-scheduler源码解析

    2024-04-24 13:10:05       13 阅读