Rocky Linux系统sshd服务启动失败(code=exited, status=203/EXEC)求助
Rocky Linux系统sshd服务启动失败(code=exited, status=203/EXEC)求助
别担心,这个code=exited, status=203/EXEC错误我碰到过好几次了,大概率是sshd的执行文件本身、权限配置或者依赖出了问题,咱们一步步来排查:
检查sshd二进制文件是否存在
先确认sshd的执行路径:which sshd正常输出应该是
/usr/sbin/sshd。接着检查这个文件是否存在:ls -l /usr/sbin/sshd如果文件不存在,说明openssh-server包可能损坏,重新安装即可:
dnf reinstall openssh-server修正文件权限与SELinux上下文
203错误经常和权限或SELinux上下文异常有关。先查看文件的SELinux标签:ls -Z /usr/sbin/sshd正常的SELinux类型应该是
sshd_exec_t,如果不对,执行以下命令恢复:restorecon -v /usr/sbin/sshd同时检查文件权限,正确权限应为
-rwxr-xr-x(即755),如果权限异常,修正:chmod 755 /usr/sbin/sshd检查sshd配置文件语法错误
有时候修改sshd_config后不小心写错语法,也会导致服务启动失败。执行以下命令检查配置语法:sshd -t如果有错误,命令会提示具体的行号和问题,修正后再尝试重启服务:
systemctl restart ssh.service查看详细日志定位根源
以上步骤没解决的话,去系统日志里找更具体的失败原因:journalctl -u ssh.service -b这个命令会输出本次系统启动后ssh服务的所有日志,里面通常会明确说明是找不到依赖库、执行路径错误还是其他问题,根据日志信息再针对性处理。
检查依赖库是否缺失
如果日志提到依赖库问题,用以下命令查看sshd的依赖库状态:ldd /usr/sbin/sshd输出中如果有
not found的条目,说明对应库缺失,用dnf安装包含该库的包即可。
按照这些步骤排查下来,应该能解决你的问题,要是某一步碰到具体的错误信息,可以补充细节,我再帮你进一步分析~
备注:内容来源于stack exchange,提问作者hm_01




