From mboxrd@z Thu Jan 1 00:00:00 1970 From: Norbert Lange Date: Sat, 6 Jun 2020 00:59:03 +0200 Subject: [Buildroot] [PATCH 3/4] package/openssh: seperate sd service for host key generation In-Reply-To: <20200605225905.14082-1-nolange79@gmail.com> References: <20200605225905.14082-1-nolange79@gmail.com> Message-ID: <20200605225905.14082-3-nolange79@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net split out generationg of host keys into an optional service that can easily be removed or deactivated. Signed-off-by: Norbert Lange --- package/openssh/openssh.mk | 5 +++-- package/openssh/sshd-host-keygen.service | 20 ++++++++++++++++++++ package/openssh/sshd.service | 1 - 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 package/openssh/sshd-host-keygen.service diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk index d425db1428..6b3ee1f5f4 100644 --- a/package/openssh/openssh.mk +++ b/package/openssh/openssh.mk @@ -114,8 +114,9 @@ endef OPENSSH_POST_INSTALL_TARGET_HOOKS += OPENSSH_INSTALL_SERVER_PROGRAMS define OPENSSH_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 644 package/openssh/sshd.service \ - $(TARGET_DIR)/usr/lib/systemd/system/sshd.service + mkdir $(TARGET_DIR)/usr/lib/systemd/system + $(INSTALL) -m 644 package/openssh/sshd*.service \ + $(TARGET_DIR)/usr/lib/systemd/system/ $(OPENSSH_INSTALL_SYSTEMD_SYSUSERS) endef diff --git a/package/openssh/sshd-host-keygen.service b/package/openssh/sshd-host-keygen.service new file mode 100644 index 0000000000..058e671c44 --- /dev/null +++ b/package/openssh/sshd-host-keygen.service @@ -0,0 +1,20 @@ +[Unit] +Description=SSH Key Generation +Before=sshd.service + +ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key +ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key.pub +ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key +ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub +ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key +ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key.pub +ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key +ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key.pub + +[Service] +ExecStart=/usr/bin/ssh-keygen -A +Type=oneshot +RemainAfterExit=yes + +[Install] +WantedBy=sshd.service diff --git a/package/openssh/sshd.service b/package/openssh/sshd.service index 715bd3f7eb..797e249d8d 100644 --- a/package/openssh/sshd.service +++ b/package/openssh/sshd.service @@ -4,7 +4,6 @@ Documentation=man:sshd(8) man:sshd_config(5) After=network.target auditd.service [Service] -ExecStartPre=/usr/bin/ssh-keygen -A ExecStartPre=/usr/sbin/sshd -t ExecStart=/usr/sbin/sshd -D ExecReload=/usr/sbin/sshd -t -- 2.26.2