在Linux系统的ECS实例启动SSH服务,命令行或secure日志中可能会出现类似如下信息。
/etc/ssh/sshd_config: line 2: Bad configuration options:\ /etc/ssh/sshd_config: terminating, 1 bad configuration options
问题原因
配置文件存在文件编码、配置错误等异常,导致服务启动失败。
解决方案
解决该问题,请参阅如下步骤进行排查和修复。
根据报错信息修改配置文件
上传文件
重新安装SSH服务
通过回滚磁盘恢复
根据报错信息修改配置文件
如果错误信息中明确指出了具体的错误配置。则可以通过vi等编辑器,直接对/etc/ssh/sshd_config文件中的相应条目进行修改。
提示:可以找一台正常的ECS实例,对比/etc/ssh/sshd_config文件,进行修改。
上传文件
如果错误较多,或者错误信息中没有明确的错误说明。则可以通过如下步骤,参考外部正常配置,尝试恢复服务。
通过FTP等方式将正常服务器上的/etc/ssh/sshd_config文件上传到目标实例。
假设上传目录为/tmp,执行如下命令,将文件拷贝到正常目录。
cp /tmp/sshd_config /etc/ssh/sshd_config
执行如下命令,修改文件权限、所有者和所属组。
chmod 600 /etc/ssh/sshd_config
chown root:root /etc/ssh/sshd_config
如果无法上传外部正常配置文件,也可以对照正常配置文件,直接手工编辑、撰写配置文件。
执行如下命令,尝试重新启动SSH服务。
service sshd start
重新安装SSH服务
如果上述操作不便实施,也可以参阅如下步骤,通过重装SSH服务来进行问题修复。
执行如下命令,卸载SSH服务。
rpm -e openssh-server
执行如下命令,安装SSH服务。
yum install openssh-server
执行如下命令,启动SSH服务。
service sshd start
通过回滚磁盘恢复
如果停止运行实例对业务数据无影响,则可以通过回滚系统盘历史快照的方式来进行修复。回滚磁盘快照的操作说明可以参阅回滚云盘。
提示:
快照回滚会导致回滚点之后的数据丢失,请务必确认后再操作。
建议按时间从近到远的顺序逐一尝试回滚快照,直至SSH服务能正常运行。如果回滚后还是无法正常运行SSH服务,则说明相应时间点的系统已经出现异常。