使用SSH远程连接Linux系统的ECS实例时,提示“This account is currently not available.”错误怎么办?

本文介绍使用SSH远程连接Linux实例时,提示“This account is currently not available.”错误的问题原因和解决方案。

问题现象

当使用SSH命令登录Linux系统的ECS实例,输入正确的用户名和密码也会连接失败,提示“This account is currently not available.”错误。

执行cat /var/log/secure查看登录日志,发现会出现类似如下信息。

Connection to 127.0.0.1 closed.
Received disconnect from 127.0.0.1: 11: disconnected by user.
pam_unix(sshd:session): session closed for user test.

问题原因

该问题通常是由于ECS实例中用户配置文件(/etc/passwd)中,相应用户(如test)的默认Shell被修改,导致无法登录。

解决方案

您可以修改相应用户(如test)的Shell,以解决无法远程连接的问题。

  1. 以VNC方式登录ECS实例。

    具体操作,请参见通过密码认证登录Linux实例

  2. 执行如下命令,查看相应用户(如test)的默认Shell。

    cat /etc/passwd | grep username

    系统显示类似如下,表示test用户的Shell被修改成/sbin/nologin(禁止登录)。

    test:x:1000:1000::/home/test:/sbin/nologin
  3. 修改用户的Shell。

    1. 打开用户配置文件(/etc/passwd)。

      vi /etc/passwd
    2. 将相应用户(如test)的默认Shell修改为bash,即将/sbin/nologin修改为/bin/bash,如下所示。

      test:x:1000:1000::/home/test:/sbin/nologin
    3. 按Esc键,输入:wq保存修改。

  4. 重新使用该用户连接Linux实例,确保可以正常连接。