Linux系统的ECS实例中,启动SSH服务时提示“Bad configuration options”错误怎么办?

本文介绍在Linux系统的ECS实例中,启动SSH服务时提示“Bad configuration options”错误的错误原因和解决方案。

问题现象

在Linux系统的ECS实例启动SSH服务,命令行或secure日志中可能会出现类似如下信息。

/etc/ssh/sshd_config: line 2: Bad configuration options:\\ /etc/ssh/sshd_config: terminating, 1 bad configuration options

问题原因

ECS实例内SSH服务对应的配置文件/etc/ssh/sshd_config存在文件编码、配置错误等异常,导致SSH服务启动失败。

解决方案

您可以根据需要,选择合适的方案进行修复。

根据报错信息修改配置文件

如果错误信息中明确指出了具体的错误配置,您可以根据错误信息,修改相应配置。

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

    具体操作,请参见连接方式概述

  2. 执行如下命令,打开sshd_config文件。

    vim /etc/ssh/sshd_config
  3. i键进入编辑模式。

  4. 根据错误提示,修改相应配置。

    说明

    您在一台正常的ECS实例,对比/etc/ssh/sshd_config文件,进行修改。

  5. 以测试模式运行sshd。

    /usr/sbin/sshd -t

    无返回信息时,说明sshd配置正确。

  6. 执行如下命令,重新启动SSH服务。

    service sshd start

将正常实例中的sshd_config文件上传到该异常实例进行修复

如果错误较多,或者错误信息中没有明确的错误说明,可以将正常实例的/etc/ssh/sshd_config文件上传到目标异常实例进行修复。

  1. 通过FTP等方式将正常实例上的/etc/ssh/sshd_config文件上传到目标实例。

  2. 假设上传目录为/tmp,执行如下命令,将文件拷贝到正常目录。

    cp /tmp/sshd_config /etc/ssh/sshd_config
  3. 执行如下命令,修改文件权限、所有者和所属组。

    chmod 600 /etc/ssh/sshd_config
    chown root:root /etc/ssh/sshd_config
    说明

    如果无法上传外部正常配置文件,也可以对照正常配置文件,直接手工编辑、撰写配置文件。

  4. 执行如下命令,重新启动SSH服务。

    service sshd start

重新安装SSH服务

如果上述操作不便实施,也可以参阅如下步骤,通过重装SSH服务来进行问题修复。

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

    具体操作,请参见连接方式概述

  2. 执行如下命令,卸载SSH服务。

    rpm -e openssh-server
  3. 执行如下命令,安装SSH服务。

    yum install openssh-server
  4. 执行如下命令,启动SSH服务。

    systemctl start sshd.service

通过回滚系统盘恢复

如果以上方案都无法修复,您可以通过回滚系统盘历史快照的方式来进行修复。具体操作,请参见使用快照回滚云盘

重要
  • 快照回滚会导致回滚点之后的数据丢失,请务必确认后再操作。

  • 建议按时间从近到远的顺序逐一尝试回滚快照,直至SSH服务能正常运行。如果回滚后还是无法正常运行SSH服务,则说明相应时间点的系统已经出现异常。