更新

更新

在我的 BeagleBone Black Angstrom 系统上,dropbear.socketUNIT 似乎会在一段时间后自动死机。结果是,ssh如果不重新启动 UNIT,我就无法进入机器dropbear.socket。这可以在短期内解决问题:

systemctl restart dropbear.socket

我尝试添加Restart=always文件/lib/systemd/system/dropbear.socket,但不允许(系统日志中出现错误)。

[Unit]
Conflicts=dropbear.service

[Socket]
ListenStream=22
Accept=yes
Restart=always

[Install]
WantedBy=sockets.target
Also=dropbearkey.service

自动重启的正确方法是什么dropbear.socket?修复根本原因当然好,但这似乎是一个简单的解决方法,并且会使系统更加健壮。

更新

这是失败单元的列表(我没有过滤它,以防音乐服务(我没有使用)是可疑的)。

%systemctl 列表单元--失败--完整
单位负荷活动子描述
[电子邮件保护]:22-192.168.0.40:55370.service 加载失败 SSH 每连接服务器失败
mpd.service 加载失败 音乐播放器守护进程失败

LOAD = 反映单元定义是否已正确加载。
ACTIVE = 高级单元激活状态,即SUB的泛化。
SUB = 低级单元激活状态,值取决于单元类型。

列出了 2 个已加载的单元。输入 --all 还可查看已加载但不活动的单元。
要显示所有已安装的单元文件,请使用“systemctl list-unit-files”。

还有这里/lib/systemd/system/[email protected]

[单元]
描述=SSH 每连接服务器
需要=dropbearkey.service
之后=syslog.target dropbearkey.service

[服务]
ExecStart=-/usr/sbin/dropbear -i -r /etc/dropbear/dropbear_rsa_host_key -p 22
ExecReload=/bin/kill -HUP $MAINPID
标准输入=插座
KillMode=进程

答案1

您是否尝试过设置 OnFailure 标志?例如:

[Unit]
Conflicts=dropbear.service
OnFailure=dropbear.socket

[Socket]
ListenStream=22
Accept=yes
Restart=always

[Install]
WantedBy=sockets.target
Also=dropbearkey.service

相关内容