帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云服务器 ECS
  4. 服务支持
  5. 实例无法启动问题
  6. Linux实例无法启动的解决方案
  7. SSH服务未设置开机时自启动

SSH服务未设置开机时自启动

  • Linux实例无法启动的解决方案
  • 发布于 2025-04-01
  • 0 次阅读
文档编辑
文档编辑

如果Linux实例中SSH服务未设置开机时自启动,重启实例后,将无法使用SSH远程连接实例,您可以使用VNC登录实例进行修复,也可以通过实例健康诊断工具进行问题修复。

背景信息

问题描述:重启Linux实例后,无法继续使用SSH远程连接实例,但是可以使用VNC登录。

可能原因:造成该问题的原因有多种,其中一种原因为SSH服务未设置开机时自启动,导致Linux实例重启后SSH服务处于停止状态。

例如:在CentOS 7系统中,运行以下命令查看SSH服务(sshd.service)的状态。

systemctl status sshd.service

查看SSH服务状态未启动,返回结果示例如下图所示:sshd.service

您可以根据以下不同场景选择对应的解决方案:

  • SSH服务未开启开机自启动时,一般不会造成实例系统启动失败,但会导致您通过SSH或Workbench远程登录时,无法连接。如果实例已经正常启动,您可以使用VNC登录正常启动的实例进行修复。具体操作,请参见使用VNC登录正常启动的实例进行修复。

  • 如果您通过实例健康诊断工具进行诊断,诊断结果中实例无法启动场景的SSH服务配置检查未通过,并且实例处于正在挂载修复盘的模式下,您可以使用VNC登录修复系统进行问题修复。具体操作,请参见使用VNC登录修复系统进行修复。

使用VNC登录正常启动的实例进行修复

  1. 使用VNC远程连接问题实例。

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

  2. 运行以下任一命令将SSH服务设置为开机时自启动。

    多数Linux发行版使用systemd作为服务管理程序,请您根据不同版本的服务管理程序,自行修改命令内容。本文以systemd为例,示例命令如下所示:

    重要

    不同Linux发行版的SSH服务名称可能不同,您需要根据实际的SSH服务名称自行修改命令。例如:在CentOS、Fedora CoreOS、Red Hat Enterprise Linux、SUSE Linux Enterprise Server等版本中SSH服务名称为sshd.service;在Debian、Ubuntu等版本中SSH服务名称为ssh.service。

    • 运行以下命令设置SSH服务开机时自启动,然后必须重启实例后再使用SSH远程登录ECS实例。

      systemctl enable sshd.service
    • 运行以下命令设置SSH服务开机时自启动,并立即启动SSH服务,此时无需重启ECS实例,可以直接使用SSH远程登录ECS实例。

      systemctl enable --now sshd.service
  3. 设置完成后,运行以下命令查看SSH服务的运行状态是否为运行中。

    systemctl status sshd.service

    命令的返回结果示例如下图所示:sshd.service此时您可以切换至SSH远程连接Linux实例。如果仍无法登录,请重启实例后,再次尝试使用SSH远程连接Linux实例。

使用VNC登录修复系统进行修复

  1. 远程连接问题实例。
    当ECS实例处于正在挂载修复盘的模式下时,只能通过VNC远程连接。具体操作,请参见使用VNC登录实例。
  2. 查看问题实例原有系统盘的挂载信息。
    在临时挂载的修复盘中,问题实例原有系统盘的文件系统会被挂载到某一临时目录下。您可以通过以下任一方式查看所在的临时目录信息:
    • 通过ECS控制台的实例健康诊断结果获取,对应的信息格式示例如下所示:/tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****。
    • 在临时挂载的修复盘中,运行mount命令查看。例如,问题实例原有系统盘的设备路径为/dev/vda,命令示例如下所示:
      mount | grep /dev/vda
      返回结果如下所示:
      /dev/vda1 on /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse**** type ext4 (rw,relatime)
  3. 运行chroot命令,将根目录切换为问题实例原有系统盘所在的临时路径,并进入chroot环境。
    您需要在问题实例原有系统盘所在的临时路径中进行文件修复。例如,临时路径为/tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****,命令如下所示:
    chroot /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****
  4. 在chroot环境,运行以下命令将SSH服务设置为开机时自启动。

    多数Linux发行版使用systemd作为服务管理程序,请您根据不同版本的服务管理程序,自行修改命令内容。本文以systemd为例,示例命令如下所示:

    重要

    不同Linux发行版的SSH服务名称可能不同,您需要根据实际的SSH服务名称自行修改命令。例如:在CentOS、Fedora CoreOS、Red Hat Enterprise Linux、SUSE Linux Enterprise Server等版本中SSH服务名称为sshd.service;在Debian、Ubuntu等版本中SSH服务名称为ssh.service。

    systemctl enable sshd.service

    由于当前的chroot环境仅构造了问题实例原有系统盘中的文件系统与目录环境,实际所有的进程为修复系统中的进程,无法立即启动问题实例原有系统盘上的SSH服务。因此禁止使用systemctl enable命令的--now参数立即启动SSH服务,同时也不支持使用systemctl status命令查看问题实例原有系统盘上的SSH服务的当前状态。

  5. 修复完成后,退出修复环境,然后检查问题实例的当前状态。

    1. 运行exit命令,退出chroot环境。

    2. 在ECS控制台的实例健康诊断页面,卸载临时挂载的修复盘并恢复问题实例至正常模式,然后重启实例。

    3. 远程连接已修复的ECS实例,确认成功登录。

相关文章

Linux实例中修改文件为Unix格式的方法 2025-04-01 12:00

在Linux实例中,如果一些关键文件的格式不是Unix格式,可能导致该实例无法被远程连接。您可以通过实例健康诊断工具进行问题修复。 前提条件 Linux实例已通过实例健

Linux实例中关键的系统用户不存在 2025-04-01 12:00

当Linux实例中关键的系统用户不存在时,可能导致无法远程登录。您可以通过实例健康诊断工具进行问题修复。 前提条件 Linux实例已通过实例健康诊断工具进行诊断,诊断结果中实

Linux实例的etcfstab文件配置错误导致系统启动异常问题解决方法 2025-04-01 12:00

在Linux系统中,/etc/fstab文件用于配置文件系统的自动挂载信息。如果未正确配置要自动挂载的文件系统信息或者存在已不可用的文件系统信息,重启系统后可能导致ECS实例的操作系统无法正常启动。

Linux实例的grub启动配置错误 2025-04-01 12:00

Linux实例无法启动,并且通过诊断工具检测到grub启动配置错误时,您可以通过实例健康诊断工具进行问题修复。 前提条件 ECS实例已通过实例健康诊断工具诊断出grub格式检查异常的问题。

Linux系统的ECS实例中,varlogmessages日志出现“EXT4-fs error (device XXX) __ext4_find_entryXXX”错误怎么办? 2025-04-01 12:00

本文介绍Linux系统的ECS实例中,/var/log/messages日志出现“EXT4-fs error (device XXX): __ext4_find_entry:XXX”错误的问题原因和解决方案。 问题现象 Linux系统的ECS实例中,

Linux系统的ECS实例中,系统日志中出现“blk_update_request IO error XXXX”错误怎么办? 2025-04-01 12:00

本文介绍在Linux系统的ECS实例中,/var/log/dmesg、/var/log/messages等日志中出现“blk_update_request: I/O error XXXX”错误的原因和解决方案。 问题现象

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