SSH服务启动时出现“main process exited, code=exited”错误
问题描述
在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软件包相关文件被移除。
处理方法
- 远程登录弹性云服务器。
- 执行以下命令,检查环境变量配置。
系统正常返回信息如下,该值为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
- 执行以下命令,查找并确认SSH服务指令。
确保包含如下默认路径程序文件:
/usr/sbin/sshd
- 如果相应文件不存在,则尝试通过 FTP 等方式从外部上传正常文件,或者重新安装SSH服务。
- 执行以下命令,重启SSH服务。
- 重新连接云服务器。