无法通过SSH远程登录Linux实例时的排查指引

无法通过SSH远程登录Linux实例时的排查指引

更新时间:2020-09-02 15:28:45

问题描述

通过SSH远程登录Linux系统的ECS实例时,连接失败,无法正常登录Linux实例。

问题原因

下图为SSH远程登录的关联因素示意图,由此可见,SSH远程登录失败的可能原因较多。为定位具体的问题原因,请参见解决方案

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

请您根据现场的实际情况,并结合以下引导,从中选择最符合您现场实际情况的一种:

SSH登录失败时存在明确的报错信息

处理流程图

详细信息

SSH远程登录失败时,系统通常会返回报错信息。您可以根据报错信息,从以下常见的报错信息中匹配符合您现场实际情况的报错,快速定位问题原因及解决方案。

说明:如果您的报错信息不在以下列表中,您可以通过搜索引擎查询报错信息,或者您也可以参见本文中的排查方案

SSH登录失败时没有明确的报错信息

处理流程图

详细信息

如果您没有收到系统返回的报错信息,请根据以下步骤进行排查。

步骤一:检查ECS实例的状态

无论何种原因导致无法远程登录ECS实例,请先检查实例的状态。只有当ECS实例为运行中状态时,才能对外提供业务访问。检查步骤如下:

  1. 登录云服务器管理控制台
  2. 单击左侧导航栏中的实例,查看目标实例的状态
    • 目标实例不是运行中的状态

      请参见ECS实例生命周期,根据实例的状态,选择对应的解决方案。
    • 目标实例是运行中的状态
      参见下一步骤继续排查。
步骤二:使用阿里云Workbench工具测试远程登录

通过阿里云提供的Workbench工具进行远程登录,Workbench工具在远程登录出现异常时会返回具体的错误信息及解决方案。测试步骤如下:

  1. 登录云服务器管理控制台
  2. 单击左侧导航栏中的实例,在实例列表找到您需要远程登录的目标实例,单击远程连接,在弹出的页面中选择Workbench远程连接的方式。
  3. Workbench工具将自动填充登录目标实例所需的基本信息,请确认基本信息的正确性并输入登录的用户名和认证信息。关于如何使用Workbench工具,请参见通过Workbench远程登录Linux实例。并根据以下结果进行处理:
步骤三:使用本地SSH工具测试远程登录

当您通过Workbench工具可以正常远程登录Linux实例时,请尝试通过本地SSH客户端工具测试远程登录。并根据以下结果进行处理:

  • 无法登录
    通常是因为您本地SSH客户端或者本地网络存在异常导致无法远程登录Linux实例。以下列举常见的问题原因及解决方案供您参考:
    说明:您可以通过对比测试来确认问题根源。例如,通过其他设备上的SSH客户端远程登录您的Linux实例,以判断本地SSH客户端是否配置错误。
    • 本地网络的外网IP地址未被授权访问ECS实例。
      请检查ECS实例的安全组规则,以及您是否通过Linux实例内的防火墙(Firewalld、Iptables、安全狗等)限制了本地网络的访问。正确的SSH远程连接安全组规则如下图。
      说明
      • 此处的授权对象仅供参考,实际情况中以您客户端的公网IP地址为准。
      • 如果您使用客户端的公网IP地址后仍然无效,可以继续尝试将授权对象设置为0.0.0.0/0。更多有关安全组规则的信息,请参见ECS的安全组应用案例
      关于Linux实例内的防火墙设置,请联系您的服务器管理员获取详情。
    • 本地SSH客户端配置错误
      请参照Workbench工具中的配置设置您本地SSH客户端的远程登录设置。
  • 正常登录
    如果您可以通过本地SSH客户端远程登录Linux实例,则故障解决。
    说明:如果本文对您有帮助,请在文档底部进行反馈。

需要快速登录Linux实例

处理流程图

详细信息

如果您遇到的情况比较紧急,需要尽快登录Linux实例,建议您先参见检查ECS实例的状态章节,确认ECS实例是运行中的状态,然后尝试通过阿里云云助手向Linux实例发送命令。云助手的使用步骤如下:

  1. 登录云服务器管理控制台
  2. 单击左侧导航栏中的实例,在实例列表找到您需要远程登录的目标实例,单击远程连接,在弹出的页面中选择发送远程命令(云助手)的方式。
  3. 输入您需要执行的命令后单击执行按钮,即可在未登录Linux实例的情况下执行命令。更多有关云助手的信息,请参见云助手概述

如果云助手无法使用或者无法满足您的使用需求,您还可以通过阿里云VNC工具进行远程登录,使用方法如下:

  1. 登录云服务器管理控制台
  2. 单击左侧导航栏中的实例,在实例列表找到您需要远程登录的目标实例,单击远程连接,在弹出的页面中选择VNC远程连接的方式。
  3. 输入VNC远程连接密码即可登录。更多有关VNC功能的信息,请参见通过VNC远程登录Linux实例
    说明
    • 在首次连接或忘记VNC密码时,请单击修改远程连接密码,修改VNC的密码后重试。
    • 通过VNC登录Linux实例后,需要输入Linux实例的用户名和密码。如果您忘记了Linux实例的密码,请重置Linux实例的密码,详情请参见重置实例登录密码

如果您通过VNC仍然无法登录Linux实例,请记录您当前的问题现象并提交工单联系阿里云技术支持。

相关文档

适用于

  • 云服务器ECS

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。