本文介绍在Linux系统的ECS实例中,启动SSH服务时未遇到任何错误信息,但是ssh服务未启动的问题原因和解决方案。
问题现象
在Linux系统的ECS实例中,使用service或systemctl命令启动SSH服务时,命令行没有返回任何报错信息,但服务没有正常运行。
执行cat /var/log/secure查看secure日志,发现类似如下错误信息。
sshd.service: main process exited, code=exited, status=203/EXEC.
init: ssh main process (1843) terminated with status 255.问题原因
该问题通常是因为PATH环境变量配置异常,或SSH软件包相关文件被移除。
解决方案
请按照如下操作步骤,进行检查并解决问题。
- 使用VNC远程连接ECS实例。 - 具体操作,请参见使用VNC登录实例。 
- 执行如下命令,检查环境变量配置。 - echo $PATH- 系统正常返回类似如下,该值为PATH环境变量的默认值。 - /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
- 若返回其他信息,表示环境变量的默认值被改变,则需执行如下命令,重置环境变量。 - export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
 
- 执行如下命令,查找并确认sshd程序的路径。 - find / -name sshd- 系统正常返回类似如下,包含sshd程序的默认路径。 - /usr/sbin/sshd
- 如果相应文件不存在,建议执行如下命令,重新安装SSH软件包。 - yum install -y openssh
 
- 执行如下命令,重启SSH服务。 - systemctl restart sshd.service
- 执行如下命令,查看SSH服务状态。 - systemctl status sshd.service- 返回如下所示时,表示SSH服务为运行中。  
该文章对您有帮助吗?