openssh: Add sshd.service

For systems with a large amount of SSH traffic, it shoule be better to
run a single SSH server for all incoming connections.

And both sshd.socket and sshd.service are deployed on other distros
like ubuntu, fedora and etc.

So add sshd.service to make it possible to run a standalone SSH server.

(From OE-Core rev: 3ecebc70f957e53e3dcf1cc835ff359115db6e56)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mingli Yu
2023-10-12 14:10:14 +08:00
committed by Richard Purdie
parent 96310a5867
commit a0423422b9
2 changed files with 20 additions and 1 deletions

View File

@@ -0,0 +1,17 @@
[Unit]
Description=OpenSSH server daemon
Wants=sshdgenkeys.service
After=sshdgenkeys.service
[Service]
Environment="SSHD_OPTS="
EnvironmentFile=-/etc/default/ssh
ExecStartPre=/usr/bin/mkdir -p /var/run/sshd
ExecStart=-@SBINDIR@/sshd -D $SSHD_OPTS
ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target

View File

@@ -16,6 +16,7 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
file://ssh_config \
file://init \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
file://sshd.service \
file://sshd.socket \
file://sshd@.service \
file://sshdgenkeys.service \
@@ -48,7 +49,7 @@ INITSCRIPT_NAME:${PN}-sshd = "sshd"
INITSCRIPT_PARAMS:${PN}-sshd = "defaults 9"
SYSTEMD_PACKAGES = "${PN}-sshd"
SYSTEMD_SERVICE:${PN}-sshd = "sshd.socket"
SYSTEMD_SERVICE:${PN}-sshd = "sshd.socket sshd.service"
inherit autotools-brokensep ptest
@@ -122,6 +123,7 @@ do_install:append () {
install -d ${D}${systemd_system_unitdir}
install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_system_unitdir}
install -c -m 0644 ${WORKDIR}/sshd.service ${D}${systemd_system_unitdir}
install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_system_unitdir}
install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \