diff --git a/board/common/rootfs/etc/finit.d/available/sshd.conf b/board/common/rootfs/etc/finit.d/available/sshd.conf new file mode 100644 index 00000000..9b24cd05 --- /dev/null +++ b/board/common/rootfs/etc/finit.d/available/sshd.conf @@ -0,0 +1,2 @@ +task [S] /lib/infix/ssh-hostkeys -- +service [2345789] /usr/sbin/sshd -D -- OpenSSH daemon diff --git a/board/common/rootfs/etc/finit.d/enabled/sshd.conf b/board/common/rootfs/etc/finit.d/enabled/sshd.conf new file mode 120000 index 00000000..a4e465f2 --- /dev/null +++ b/board/common/rootfs/etc/finit.d/enabled/sshd.conf @@ -0,0 +1 @@ +../available/sshd.conf \ No newline at end of file diff --git a/board/common/rootfs/etc/ssh/sshd_config b/board/common/rootfs/etc/ssh/sshd_config new file mode 100644 index 00000000..cf9ac977 --- /dev/null +++ b/board/common/rootfs/etc/ssh/sshd_config @@ -0,0 +1 @@ +Include /etc/ssh/sshd_config.d/*.conf diff --git a/board/common/rootfs/etc/ssh/sshd_config.d/var-keys.conf b/board/common/rootfs/etc/ssh/sshd_config.d/var-keys.conf new file mode 100644 index 00000000..005ab1ec --- /dev/null +++ b/board/common/rootfs/etc/ssh/sshd_config.d/var-keys.conf @@ -0,0 +1,3 @@ +HostKey /var/lib/ssh/ssh_host_rsa_key +HostKey /var/lib/ssh/ssh_host_ecdsa_key +HostKey /var/lib/ssh/ssh_host_ed25519_key diff --git a/board/common/rootfs/lib/infix/ssh-hostkeys b/board/common/rootfs/lib/infix/ssh-hostkeys new file mode 100755 index 00000000..bd1f5590 --- /dev/null +++ b/board/common/rootfs/lib/infix/ssh-hostkeys @@ -0,0 +1,9 @@ +#!/bin/sh + +for type in ecdsa ed25519 rsa; do + [ -f /var/lib/ssh/ssh_host_${type}_key ] \ + || ssh-keygen -N "" -t $type -f /var/lib/ssh/ssh_host_${type}_key \ + || exit 1 +done + +initctl cond set ssh-hostkeys diff --git a/board/common/rootfs/var/lib/ssh/.empty b/board/common/rootfs/var/lib/ssh/.empty new file mode 100644 index 00000000..e69de29b