无法通过SSH远程登录Linux实例如何处理

本文介绍无法通过SSH远程登录Linux实例时的解决方案。

问题描述

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

问题原因

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

解决方案

无法远程连接Linux实例的原因较多,请您根据实际情况,通过相应的排查方法,排查并解决无法远程连接Linux实例的问题,排查方法如下:

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

处理流程图

详细信息

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

说明

如果您的报错信息不在本文报错列表中,您可以通过搜索引擎查询报错信息或者继续排查问题。排查问题的具体操作,请参见本文的SSH登录失败时没有明确的报错信息

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

处理流程图

详细信息

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

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

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

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择实例与镜像 > 实例,查看目标实例的状态

    • 目标实例状态不为运行中,则根据实例的状态,选择对应的解决方案,具体操作,请参见ECS实例生命周期

    • 目标实例状态为运行中,执行下一步。

步骤二:使用阿里云Workbench工具测试远程登录

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

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择实例与镜像 > 实例

  3. 在实例列表中找到您需要远程登录的目标实例,单击操作列中的远程连接,然后在对话框中选择Workbench远程连接的方式。 workbench远程登录

  4. Workbench工具将自动填充登录目标实例所需的基本信息,请确认基本信息的正确性并输入登录的用户名和认证信息。通过Workbench远程登录Linux实例的具体操作,请参见通过Workbench远程登录Linux实例

步骤三:使用本地SSH工具测试远程登录

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

  • 无法登录

    通常是因为您本地SSH客户端或者本地网络存在异常导致无法远程登录Linux实例。如下常见的问题原因及解决方案供您参考:

    说明

    您可以通过对比测试来确认问题根源。例如,通过其他设备上的SSH客户端远程登录您的Linux实例,以判断本地SSH客户端是否配置错误。

    • 本地网络的外网IP地址未被授权访问ECS实例。

      请检查ECS实例的安全组规则,以及您是否通过Linux实例内的防火墙(Firewalld、Iptables、安全狗等)限制了本地网络的访问。Linux实例内的防火墙设置,请联系您的服务器管理员获取详情。

      正确的SSH远程连接安全组规则如下图。 Dingtalk_20210427154506.jpg

      说明
      • 此处的授权对象仅供参考,实际情况中以您客户端的公网IP地址为准。

      • 如果您使用客户端的公网IP地址后仍然无效,可以继续尝试将授权对象设置为0.0.0.0/0。更多安全组规则信息,请参见ECS的安全组应用案例

    • 本地SSH客户端配置错误。

      按照Workbench工具中的配置设置您本地SSH客户端的远程登录设置,具体操作,请参见使用Workbench连接实例

  • 正常登录

    如果您可以通过本地SSH客户端远程登录Linux实例,则故障解决。

快速登录Linux实例

处理流程图

详细信息

如果您遇到的情况比较紧急,需要尽快登录Linux实例,则您可以先确认ECS实例状态为运行中,然后再尝试通过阿里云云助手向Linux实例发送命令或者通过阿里云VNC工具远程登录Linux实例。查看ECS实例状态的具体操作,请参见本文的步骤一:检查ECS实例的状态。

  • 通过阿里云云助手向Linux实例发送命令

    1. 登录ECS管理控制台

    2. 在左侧导航栏,选择实例与镜像 > 实例

    3. 在实例列表中找到您需要远程登录的目标实例,单击操作列中的远程连接,然后在对话框中选择发送命令(云助手)的方式。 发送命令云助手方式

    4. 输入您需要执行的命令后单击执行,即可在未登录Linux实例的情况下执行命令。

      更多云助手信息,请参见云助手概述

  • 通过阿里云VNC工具进行远程登录Linux实例

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

    1. 登录ECS管理控制台

    2. 在左侧导航栏,选择实例与镜像 > 实例

    3. 在实例列表中找到您需要远程登录的目标实例,单击操作列中的远程连接,然后在对话框中选择VNC远程连接的方式。 VNC远程连接方式

    4. 输入VNC远程连接密码,即可登录Linux实例。

      更多VNC功能信息,请参见通过VNC远程登录Linux实例输入VNC密码

      说明
      • 在首次连接或忘记VNC密码时,请单击重置VNC密码,修改VNC的密码后重试。

      • 通过VNC登录Linux实例后,需要输入Linux实例的用户名和密码。如果您忘记了Linux实例的密码,请重置Linux实例的密码,具体操作,请参见重置实例登录密码

相关文档

如果您的问题仍未解决,点击我要提问试试。

阿里云首页 云服务器 ECS 相关技术圈