sshd服务启动失败求助:无法连接,启动报错退出码255
SSHD服务启动失败排查方案
报错信息
root@vmi: # sudo service ssh status ssh.service OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2022-11-27 09:47:47 CST; 4min 58s ago Docs: man: sshd (8) man: sshd_config(5) Process: 446 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=255/EXCEPTION) Nov 27 09:47:47 vmi.contaboserver.net systemd[1]: ssh.service: Scheduled restart job, restart> Nov 27 09:47:47 vmi.contaboserver.net systemd[1]: Stopped OpenBSD Secure Shell server. Nov 27 09:47:47 vmi.contaboserver.net systemd[1]: ssh.service: Start request repeated too qui> Nov 27 09:47:47 vmi.contaboserver.net systemd[1]: ssh.service: Failed with result 'exit-code'. Nov 27 09:47:47 vmi.contaboserver.net systemd[1]: Failed to start OpenBSD Secure Shell server. lines 1-12/12 (END)
排查与修复步骤
- 验证配置文件语法:执行
sshd -t -f /etc/ssh/sshd_config,命令会直接输出配置文件的语法错误,这是首要排查点——报错显示预启动步骤的配置校验(sshd -t)失败,大概率是配置文件存在语法问题。 - 检查端口占用情况:sshd默认使用22端口,执行
ss -tulpn | grep :22查看是否有其他进程占用该端口。若有,可终止占用进程或修改/etc/ssh/sshd_config中的Port字段更换端口。 - 查看详细启动日志:执行
journalctl -u ssh.service -xe,获取服务启动的完整日志,从中定位具体失败原因(如权限错误、密钥文件损坏等)。 - 校验密钥文件权限:检查
/etc/ssh/ssh_host_*系列密钥文件的权限,必须为600且归属root用户。执行ls -l /etc/ssh/ssh_host_*确认,权限异常时用chmod 600 /etc/ssh/ssh_host_*修正。 - 重置配置文件:若无法定位配置问题,先备份当前配置:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak,再恢复发行版默认配置(如Debian/Ubuntu可从/usr/share/ssh/sshd_config.default复制),之后尝试启动服务。
内容的提问来源于stack exchange,提问作者Chhaya Parikh
相关产品推荐
相关产品推荐

