帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云服务器 ECS
  4. 操作指南
  5. 实例
  6. 连接实例
  7. 连接常见问题
  8. SSH远程连接问题
  9. 启用PAM认证模块后,无法登录Linux实例的解决方案

启用PAM认证模块后,无法登录Linux实例的解决方案

  • SSH远程连接问题
  • 发布于 2025-04-01
  • 0 次阅读
文档编辑
文档编辑

本文介绍在Linux操作系统内启用PAM认证模块后,出现无法登录Linux实例问题的解决方案。

什么是PAM

PAM (Pluggable Authentication Modules)是一个身份认证机制,可用于Linux系统中来实现用户身份验证,加强系统的安全。

如果PAM模块配置错误,可能会导致用户无法通过身份认证,即使输入了正确的密码也无法登录Linux实例。这种情况下,建议您联系管理员检查PAM模块的配置,并根据需要进行相应的调整,以确保能够成功登录Linux实例。常见的与远程登录实例的服务有ssh和login,这两个服务在pam对应的配置文件如下:

  • /etc/pam.d/login:控制台(管理终端)对应的配置文件。例如密码验证、账户锁定和限制登录IP等。

  • /etc/pam.d/sshd:SSH远程登录的认证信息。

  • /etc/pam.d/system-auth:系统级别的认证信息,例如密码策略、用户信息和访问控制等。

如何修改PAM配置

重要
  • 仅root用户(管理员)支持修改PAM配置,若您为非root用户,请联系管理员检查并修改PAM配置。

  • PAM配置通常是为了加强系统安全,在修改PAM配置之前,请谨慎评估是否需要修改,以及所做的更改不会破坏系统的正常功能或导致安全漏洞。

  1. (可选)若root用户输入正确密码也无法登录,请先解锁root用户。否则,请跳过该步骤。

    如何解锁root用户?

    1. 使用单用户模式登录实例。

      具体操作,请参见Linux系统进入单用户模式。

    2. 依次执行如下命令,解锁root用户。

      pam_tally2 -u root #查看root用户登录密码连续输入错误次数。
      pam_tally2 -u root -r #清除root用户密码连续输入错误次数。
      authconfig --disableldap --update #更新PAM安全认证记录。
    3. 重启ECS实例,使修改生效。

      具体操作,请参见重启实例。

  2. 使用root用户登录Linux实例。

    具体操作,请参见使用VNC登录实例。

  3. 执行以下命令,打开secure日志,查找包含pam字段的行,并确定与PAM设置相关联的模块名称。

    cat /var/log/secure

    例如以下示例,模块名称为pam_succeed_if。

    pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root".
  4. 根据获取的模块名称,查找PAM配置文件是否存在相关配置。如存在,参考步骤5修改。

    1. 执行以下命令,获取以下3个PAM配置文件的配置信息。

      cat /etc/pam.d/login
      cat /etc/pam.d/sshd
      cat /etc/pam.d/system-auth
    2. 使用grep命令,查找各配置文件中是否存在与secure日志相关的配置行。

      grep "模块名称" /etc/pam.d/login
      grep "模块名称" /etc/pam.d/sshd
      grep "模块名称" /etc/pam.d/system-auth

      例如,查找包含模块名称pam_succeed_if的行,执行以下命令:

      grep "pam_succeed_if" /etc/pam.d/login
      grep "pam_succeed_if" /etc/pam.d/sshd
      grep "pam_succeed_if" /etc/pam.d/system-auth

      若PAM配置文件存在相关配置,您将看到类似输出:

      /etc/pam.d/login:auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
      /etc/pam.d/system-auth:auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
  5. 若PAM配置文件存在相关配置,打开对应的配置文件,根据实际需求修改与secure日志中相关的配置,解除限制。

    重要

    所有包含secure中模块名称的PAM配置文件,均需要修改。

    1. 执行以下命令,打开某一个对应配置文件。

      vim <配置文件名称>
    2. 按i键,根据实际需求,注释或更改对应配置。PAM配置文件的语法信息,请参见PAM 配置(参考)。

    3. 完成配置后,按Esc键,输入:wq保存。

    4. (可选)重复步骤a~c,修改其他配置文件。

  6. 重新登录ECS实例,如果可以正常登录,说明问题已修复。

因PAM配置不当导致登录失败的常见错误日志和对应解决方案

secure日志提示:“requirement "uid >= 1000" not met by user "root"”

  • 问题原因

    PAM配置文件中,设置了禁止UID小于1000的用户登录。

    说明

    系统用户(包括root)UID为0~999,该限制一般是禁止系统用户登录系统,增强系统的安全性。

  • 解决方法

    • 方式一:使用其他用户登录ECS实例。

    • 方式二:查看PAM配置文件中是否存在相关配置并修改,来解除限制。具体操作,请参见步骤3~4。

      配置文件中,存在类似如下配置表示有该限制,您可以根据需要注释或删除该配置以解除该限制。

      auth required pam_succeed_if.so uid >= 1000

secure日志提示:Refused user xxx(用户名)for service sshd

  • 问题原因

    PAM配置文件中,设置了禁止xxx用户登录ECS实例。

  • 解决方法

    • 方法一:使用其他用户登录ECS实例。

    • 方法二:查看PAM配置文件中是否存在相关配置并修改,来解除限制。具体操作,请参见步骤3~4。

      • 配置文件中,存在类似如下配置表示有该限制:

        # 设置了访问白名单,仅允许白名单用户允许登录
        auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail
        
        # 设置了访问黑名单,禁止黑名单用户登录
        auth required pam_listfile.so item=user sense=deny  file=/etc/ssh/blacklist onerr=fail
      • 如何修改

        将允许登录的用户添加到白名单或移除黑名单,或注释该配置。

        如何添加/移除

        1. 执行如下命令,打开/etc/ssh/whitelist配置文件。

          vim /etc/ssh/whitelist
        2. 按i进入编辑模式。

        3. 将允许的登录的用户添加到白名单中。

          以下示例表示仅允许以下三个用户登录。

          root
          ecs-user
          test
        4. 按Esc键,输入:wq退出并保存配置文件。

登录Linux系统的ECS实例时,提示“Maximum amount of failed attempts was reached”

  • 问题原因

    连续多次输入错误密码,触发系统PAM认证模块策略限制,导致用户被锁定,无法登录Linux实例。

  • 解决方法

    1. 若root用户被锁定,请先解锁root用户。否则跳过该步骤。

      如何解锁root用户?

      1. 使用单用户模式登录实例。

        具体操作,请参见Linux系统进入单用户模式。

      2. 依次执行如下命令,解锁root用户。

        pam_tally2 -u root #查看root用户登录密码连续输入错误次数。
        pam_tally2 -u root -r #清除root用户密码连续输入错误次数。
        authconfig --disableldap --update #更新PAM安全认证记录。
      3. 重启ECS实例,使修改生效。

        具体操作,请参见重启实例。

    2. 使用root用户登录Linux实例。

      具体操作,请参见使用VNC登录实例。

    3. 执行如下命令,查看PAM配置文件中是否存在认证限制。

      cat /etc/pam.d/system-auth

      例如,系统返回如下时,表示普通用户和root用户连续三次输入错误密码,50秒后才能再次登录Linux实例。

      image.png
    4. 解决问题。

      • 方法一:等待PAM设置的冻结时长(例如50秒),待系统解冻账户后,再重新登录实例。

      • 方法二:修改配置文件(下文/etc/pam.d/system-auth为例进行说明,其他配置文件修改方法类似)。

        1. 执行如下命令,打开/etc/pam.d/system-auth配置文件。

          vim /etc/pam.d/system-auth
        2. 按i进入编辑模式。

        3. 根据业务需要,注释、修改或删除该配置。

          本文以注释配置为例进行说明。

          auth required pam_tally2.so deny=3 unlock_time=50  #原文代码:普通用户和root用户连续三次输入错误密码会被锁定,50秒后才能解锁。
          #auth required pam_tally2.so deny=3 unlock_time=50 #注释后 
          说明

          此处使用的是pam_tally2模块,不同的PAM版本,设置可能有所不同,详情请参见Linux PAM SAG。

相关文章

Linux内核参数net.core.optmem_max设置过小导致无法远程连接实例 2025-04-01 11:59

net.core.optmem_max 是 Linux 内核中的一个网络参数,用于设定每个套接字所允许的最大缓冲区的大小。该参数直接影响网络应用程序在处理大量并发连接和高带宽流量时的性能。如果设置过小,可能导致网络性能下降、丢包增多和时延过高,从而影响远程连接实例的稳定性。本文将介绍如何调整该参数。

Linux实例中由于SELinux服务开启导致SSH远程连接异常 2025-04-01 11:59

本文介绍Linux实例中由于SELinux服务开启导致SSH远程连接异常时的解决方案。 问题描述 在SSH远程连接Linux实例时,即便密码正确输入后,在命令行或secure日志中也会出现如下错误信息。

Linux实例中,SSH登录或数据传输速度都很慢怎么办? 2025-04-01 11:59

本文介绍Linux系统的ECS实例中,SSH登录或数据传输速度都很慢的问题原因和解决方案。 问题现象 在Linux系统的ECS实例中,通过外网或内网使用SSH服务登录或数据传输时,速度很慢。 问题原因 该问题可能是ECS实例中,SS

Linux实例如何设置SSH客户端的会话连接保持时间 2025-04-01 11:59

概述 使用SSH客户端远程连接Linux系统的阿里云ECS实例,连接会话闲置一段时间后,基于安全考虑,SSH客户端会在超过特定时间后自动终止远程连接。若希望延长SSH客户端的会话连接保持时间,请参考本文进行操作。 详细信息 阿里云提醒您: 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾

Linux系统下如何保持进程在SSH客户端断开后仍继续运行? 2025-04-01 11:59

本文介绍在Linux系统的ECS实例内,当断开SSH客户端后,如何保持进程继续运行的解决方案。 使用场景 在Linux系统中,在执行一些运行时间比较长的任务时,必须等待执行完毕才能断开SSH连接或关闭客户端软件,否则可能会导致执行中断。本文介绍两种保障程序在您退出登录后持续运行的方法。

Linux系统的ECS实例中,启动SSH服务提示“Failed to start OpenSSh server daemon”错误怎么办? 2025-04-01 11:59

本文介绍在Linux系统的ECS实例中,启动SSH服务提示“Failed to start OpenSSh server daemon”错误的原因和解决方案。 问题现象 在Linux系统的ECS实例中,SSH服务(sshd.service)无法启动,运行systemctl status sshd.s

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1