使用SSH命令登录Linux系统的ECS实例时出现报错

本文仅供学习。【云技术在线】专业提供阿里云、华为云、腾讯云技术支持,有任何问题请与我们联系。

免责声明:本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

 

问题描述

当使用SSH命令登录Linux系统的ECS实例时,即便使用了正常的账号和密码也会连接失败,在命令行或secure日志中也会出现类似如下的错误信息。

  • This account is currently not available.
  • 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.

 

问题原因

该问题通常是由于相应用户的默认Shell被修改导致。

 

解决方案

  1. 登录实例,关于如何登录实例,请参考使用管理终端连接Linux实例。
  2. 执行如下命令,查看相应用户的默认Shell。
    cat /etc/passwd | grep test

    系统显示类似如下,登录相应用户的Shell被修改成nologin。

    test:x:1000:1000::/home/test:/sbin/nologin
  3. 如果需要修改相关策略配置,操作之前建议先进行文件备份。
  4. 执行如下命令,编辑/etc/passwd文件,将相应用户的默认Shell修改为bash,即将/sbin/nologin修改为/bin/bash,然后保存并退出即可。
    vi /etc/passwd
  5. 在客户端再次尝试连接服务器,确认能正常连接。

    提示:如果还有问题,可以参考通过SSH无法远程登录Linux实例的排查指引。

 

适用于

  • 云服务器 ECS

 

如果您的问题仍未解决,您可以联系【云技术在线】工程师。

【云技术在线】免费提供阿里云、华为云、腾讯云的产品选型,架构设计,安装配置,故障排查,数据迁移等技术服务,有任何需求请与我们联系!13121395187(微信同号)