国产银河麒麟SP1桌面版本启动ssh服务报错解决办法

报错信息如下

kylin@kylin-pc:~/桌面$ systemctl status ssh.service ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; disabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2025-10-16 16:23:48 CST; 23s ago Docs: man:sshd(8) man:sshd_config(5) Process: 11517 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=255/EXCEPTION) 10月 16 16:23:48 kylin-pc systemd[1]: ssh.service: Scheduled restart job, restart counter is at 5. 10月 16 16:23:48 kylin-pc systemd[1]: Stopped OpenBSD Secure Shell server. 10月 16 16:23:48 kylin-pc systemd[1]: ssh.service: Start request repeated too quickly. 10月 16 16:23:48 kylin-pc systemd[1]: ssh.service: Failed with result 'exit-code'. 10月 16 16:23:48 kylin-pc systemd[1]: Failed to start OpenBSD Secure Shell server

分析报错信息:

从报错信息来看,ssh.service 启动失败的核心原因是 sshd 服务的配置文件检测不通过(ExecStartPre=/usr/sbin/sshd -t 执行失败,退出码 255)。sshd -t 是用于检测 sshd 配置文件(/etc/ssh/sshd_config)语法和合法性的命令,失败通常意味着配置文件存在错误。

解决办法:

执行命令:

复制代码
ylin@kylin-pc:~/桌面$ sudo /usr/sbin/sshd -t
报错信息:Privilege separation user sshd does not exist

sshd 服务依赖的 "权限分离用户"(sshd 用户)不存在。这是 sshd 的安全机制要求,需要一个低权限的 sshd 用户来运行服务的非特权部分,若该用户缺失则无法启动。

# 创建缺失的权限分离目录
sudo mkdir -p /run/sshd

# 设置目录所有者为 root(确保权限安全)
sudo chown root:root /run/sshd

# 设置目录权限(仅 root 可写,其他用户可读可执行)
sudo chmod 755 /run/sshd

# 创建 sshd 系统用户(无登录权限,主目录为 /var/empty)
sudo useradd -r -d /var/empty -s /usr/sbin/nologin sshd

问题解决

相关推荐
小生不才yz8 分钟前
shell编程 - 条件测试
linux
2301_7722042813 分钟前
Linux 驱动开发:杂项设备驱动与自动设备号管理
linux·运维·驱动开发
黄昏晓x23 分钟前
Linux----缓冲区
linux·运维·服务器
2501_9011478327 分钟前
学习笔记:单调递增数字求解的迭代优化与工程实践
linux·服务器·笔记·学习·算法
似霰34 分钟前
Linux timerfd 的基本使用
android·linux·c++
寄存器漫游者1 小时前
Linux 软件编程 命令、内核与 Shell
linux·运维·服务器
Kaede61 小时前
服务器硬件防火墙和软件防火墙的区别
运维·服务器
qinyia1 小时前
通过本地构建解决Cartographer编译中absl依赖缺失问题
linux·运维·服务器·mysql·ubuntu
郝亚军1 小时前
ubuntu启一个udp server,由一个client访问
linux·ubuntu·udp
苦逼IT运维1 小时前
从 0 到 1 理解 Kubernetes:一次“破坏式”学习实践(一)
linux·学习·docker·容器·kubernetes