在我的 BeagleBone Black Angstrom 系统上,dropbear.socket
UNIT 似乎会在一段时间后自动死机。结果是,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