From 0a5870aa64273bc326efd5302d29d76b1e19f82f Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 23 Nov 2022 18:03:28 +0100 Subject: [PATCH] package/skeleton-init-finit: sync OpenSSH support from myLinux Signed-off-by: Joachim Wiberg --- .../skeleton-init-finit/skeleton-init-finit.mk | 8 ++++++++ .../skeleton/etc/finit.d/available/sshd.conf | 2 ++ .../skeleton/usr/bin/ssh-genhostkeys | 15 +++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 package/skeleton-init-finit/skeleton/etc/finit.d/available/sshd.conf create mode 100755 package/skeleton-init-finit/skeleton/usr/bin/ssh-genhostkeys diff --git a/package/skeleton-init-finit/skeleton-init-finit.mk b/package/skeleton-init-finit/skeleton-init-finit.mk index e8c0ff83..c89eb1a8 100644 --- a/package/skeleton-init-finit/skeleton-init-finit.mk +++ b/package/skeleton-init-finit/skeleton-init-finit.mk @@ -45,6 +45,14 @@ endef SKELETON_INIT_FINIT_TARGET_FINALIZE_HOOKS += SKELETON_INIT_FINIT_SET_DROPBEAR endif +# OpenSSH +ifeq ($(BR2_PACKAGE_OPENSSH),y) +define SKELETON_INIT_FINIT_SET_OPENSSH + ln -sf ../available/sshd.conf $(FINIT_D)/enabled/sshd.conf +endef +SKELETON_INIT_FINIT_TARGET_FINALIZE_HOOKS += SKELETON_INIT_FINIT_SET_OPENSSH +endif + ifeq ($(BR2_PACKAGE_LLDPD),y) define SKELETON_INIT_FINIT_SET_LLDPD ln -sf ../available/lldpd.conf $(FINIT_D)/enabled/lldpd.conf diff --git a/package/skeleton-init-finit/skeleton/etc/finit.d/available/sshd.conf b/package/skeleton-init-finit/skeleton/etc/finit.d/available/sshd.conf new file mode 100644 index 00000000..588f3da3 --- /dev/null +++ b/package/skeleton-init-finit/skeleton/etc/finit.d/available/sshd.conf @@ -0,0 +1,2 @@ +task [S] /usr/bin/ssh-genhostkeys -- +service [2345789] env:-/etc/default/sshd /usr/sbin/sshd -D $SSHD_OPTS -- OpenSSH daemon diff --git a/package/skeleton-init-finit/skeleton/usr/bin/ssh-genhostkeys b/package/skeleton-init-finit/skeleton/usr/bin/ssh-genhostkeys new file mode 100755 index 00000000..fb4fa906 --- /dev/null +++ b/package/skeleton-init-finit/skeleton/usr/bin/ssh-genhostkeys @@ -0,0 +1,15 @@ +#!/bin/sh + +if sshd -t; then + initctl cond set ssh-hostkeys + exit 0 +fi + +if sshd -t 2>&1 |grep hostkeys; then + ssh-keygen -A + initctl cond set ssh-hostkeys +else + logger -t sshd "invadlid sshd_config, check with: sshd -t" +fi + +exit 0