diff --git a/sys-kernel/dracut-openssh/Manifest b/sys-kernel/dracut-openssh/Manifest index 8007bf5..71ed579 100644 --- a/sys-kernel/dracut-openssh/Manifest +++ b/sys-kernel/dracut-openssh/Manifest @@ -1,5 +1,6 @@ -AUX dracut-openssh.conf 422 BLAKE2B b77262e65569eed32c3b1feaac412b36ba906218deb4d9697412e7744d2c7d32d71dbd06c363d73d1b7017030af4fbdad8cb4926c90f69f4200448f088f88dbb SHA512 2e74d1c73675457f607d04965df8f40722485b63f7d6ca7586dcfa56cbbf3349668eda05b5ede3d2beaaaf84d8cd236f2326f1ce25a76f1b33ddcad92221a080 -AUX module-setup.sh 2180 BLAKE2B d0e3b2902f62a582c098d5abbd968fd53609c181a56191f16f9b2dcf4ade0a58e39731d63558c0a6eb09cb1963ccd9afd0b127a94b87033bb4e234628605d728 SHA512 e2203ab0b0f8b1cdc20dfdd20983135022c404e47586f9b6180a6a93ddb6662c9f38661b2104e00d740cb50e0a3f445b2f509dfb82708411f58d844865616c1c +AUX dracut-openssh.conf 505 BLAKE2B 812b38131fafa3c6974866a143178a941420e1f828589342a27029e95fb1f9d7251c45684f85fe9fe140a69e16e6331ddfc6e7d5d21f5ae53c65fe9bd7ef7854 SHA512 37c9678367cc379765e3db6aaeea5a298156428a21a36d7c6225b913214bd9b766304bc7c5f533c17ba039659902529ae492c523ef8c662a3bfed1d452fabc8b +AUX module-setup.sh 2316 BLAKE2B 13d15f422adfde66eb979e23780c704e5a1e09f8e1feedee6e244b570c5d115b0828e272c1aa877ee09d59691855c8be79c672cea58abdde5c46f97b0e0b7db9 SHA512 df23c1dd830e28b39a3ec699a7edde072fd228e86f4b2aadbb792bda5bd086dc5c9194980e82693722742b9782d66629ac8900c1e524e9a291c3ca337c127f05 +AUX sshd-banner 70 BLAKE2B c3c868acc771e9a5546f624e1a05d4d64b02efecc5a018d3267bc250916c145794b3aef50eac3ece8ab0a9193d7d4282a471f1aad9ce47069b4d39df990b2ea9 SHA512 2d2bef16581d006deb2fadcdc2a3a9b4f720c3d8acac5f6624ea0fed2304fc3f84f497bde73297c687baefd0db7acdaa3c2c136ae90f798d558a8155db05245a AUX sshd.service 312 BLAKE2B e4be767736d45d3ccbe3a6848d32ee6f9523f5e0641cf973da4501b5dcc7a41b9c127f208bb5125cef8683393d25729856652d94e7d5d8154b11a69300a4f860 SHA512 a4aaee86716a51c904ee95a08dae22c79a1153bfc8e1cb1cd15806a133200e3a7aacee9aa4abf0a749544ea898346b79454d6da30cef0ab42253bfbe9b83d866 -AUX sshd_config 445 BLAKE2B bbefbd4aa04f8edf79e8f09de8479891c85265f211d72511207aefd8551184f3fee4c4a4c964e98cad0398da63b609da68d105dc722e8f648d9e6228fcadd512 SHA512 34aa60a1a605b3e40394011c12e819de2c6d19fab3f710346f8d70d9dc0570cb872054bd328aa7d66b5a0f03bc7250382913786f4295b8477e2b8f0a7de3536d -EBUILD dracut-openssh-0.1.ebuild 752 BLAKE2B 250ca3c44401406bbfb83434a3c0c6557fa9cf60efcac445c9ee2cfe946f5b95f8e70250eed6d0179a893947bbea709d197ae04c38faa9aef03ef6013f2bb587 SHA512 7db52074f03f73624dee88c76a8339f28d56c1b910520328d9fe84ef065a8f97f35d8ee6e6635ad411023ee5f7be2e29c1c7f0fcb53bb54e1137ebb7cbef4127 +AUX sshd_config 476 BLAKE2B f8f9b4536fc664bb4add6dd9718c70dbf45141004ead9662802c9352a71d1b0ccca55c2a69a1ca372818ad03563166868441edcd1c25c597f8ee30bd436bd446 SHA512 9039c83d3c37635d33e45004b1c9295f2a64355322114cea2f0600dd8f29c36e9b5d1b6a002c15a46b717a9de9797fea09a49f866c4a349d2e57300ac6bfa8e1 +EBUILD dracut-openssh-0.2.ebuild 952 BLAKE2B 380e7ef3fd7f7ed3c8b62fd345bc215457baa5fbb85475b8a67e08155dce08db7372674ad44080ba3d82d1e727633934bebb716e8f824449f83fd9e8b8ac06cc SHA512 cd4bd8d41eac8bbcd5575367b974e4012568d8a934c2dbc7051920cd8ae20e2d147f74d1bdefbccecea5f485c229868c6a1b4f9ced869f38457775832723d804 diff --git a/sys-kernel/dracut-openssh/dracut-openssh-0.1.ebuild b/sys-kernel/dracut-openssh/dracut-openssh-0.2.ebuild similarity index 78% rename from sys-kernel/dracut-openssh/dracut-openssh-0.1.ebuild rename to sys-kernel/dracut-openssh/dracut-openssh-0.2.ebuild index 9e9ff3b..65e0964 100644 --- a/sys-kernel/dracut-openssh/dracut-openssh-0.1.ebuild +++ b/sys-kernel/dracut-openssh/dracut-openssh-0.2.ebuild @@ -26,6 +26,7 @@ src_install() { insinto /usr/lib/dracut/modules.d/48openssh doins "${FILESDIR}"/sshd_config + doins "${FILESDIR}"/sshd-banner doins "${FILESDIR}"/sshd.service exeinto /usr/lib/dracut/modules.d/48openssh @@ -33,4 +34,9 @@ src_install() { insinto /etc/dracut.conf.d doins "${FILESDIR}/dracut-openssh.conf" + if use systemd-networkd; then + sed -i \ + 's@^#network_provider=.*@network_provider="systemd-networkd"@1' \ + "${D}"/etc/dracut.conf.d/dracut-openssh.conf || die + fi } diff --git a/sys-kernel/dracut-openssh/files/.dracut-openssh.conf.swp b/sys-kernel/dracut-openssh/files/.dracut-openssh.conf.swp new file mode 100644 index 0000000..8fab613 Binary files /dev/null and b/sys-kernel/dracut-openssh/files/.dracut-openssh.conf.swp differ diff --git a/sys-kernel/dracut-openssh/files/dracut-openssh.conf b/sys-kernel/dracut-openssh/files/dracut-openssh.conf index 5b79a75..adb3d41 100644 --- a/sys-kernel/dracut-openssh/files/dracut-openssh.conf +++ b/sys-kernel/dracut-openssh/files/dracut-openssh.conf @@ -9,7 +9,10 @@ #ed25519_host_key="/etc/ssh/ssh_host_ed25519_key" #rsa_host_key="/etc/ssh/ssh_host_rsa_key" # -# network_provider can be network systemd-networkd or auto +# select network provider +# auto: autodetect network provider +# systemd-networkd: systemd network provider +# network: dracut default provider #network_provider="auto" # #systemd_networkd_files="/etc/systemd/network/*" diff --git a/sys-kernel/dracut-openssh/files/module-setup.sh b/sys-kernel/dracut-openssh/files/module-setup.sh index 8c46411..4ebf5d7 100644 --- a/sys-kernel/dracut-openssh/files/module-setup.sh +++ b/sys-kernel/dracut-openssh/files/module-setup.sh @@ -1,14 +1,6 @@ #!/bin/bash -# called by dracut -check() { - #check for sshd - require_binaries sshd || return 1 - - return 0 -} - -depends() { +net_provider() { [ -z ${network_provider} ] && network_provider="auto" if [ "${network_provider}" = "auto" ]; then @@ -20,9 +12,23 @@ depends() { fi echo ${network_provider} +} + +# called by dracut +check() { + #check for sshd + require_binaries sshd || return 1 + return 0 } +# called by dracut +depends() { + echo $(net_provider) + return 0 +} + +# called by dracut install() { [ -z ${authorized_keys} ] && authorized_keys="/root/.ssh/authorized_keys" [ -z ${sshd_opts} ] && sshd_opts="-e -p 22" @@ -45,6 +51,7 @@ install() { done inst_simple "${moddir}/sshd_config" /etc/ssh/sshd_config + inst_simple "${moddir}/sshd-banner" /etc/ssh/sshd-banner inst_simple "$(which sshd)" inst_simple "${moddir}/sshd.service" ${systemdsystemunitdir}/sshd.service @@ -69,7 +76,7 @@ install() { touch "${initdir}/var/log/lastlog" local nf - if [ "${network_provider}" = "systemd-networkd" ]; then + if [ "$(net_provider)" = "systemd-networkd" ]; then for nf in ${systemd_networkd_files}; do inst_simple "${nf}" done diff --git a/sys-kernel/dracut-openssh/files/sshd-banner b/sys-kernel/dracut-openssh/files/sshd-banner new file mode 100644 index 0000000..1f6ae11 --- /dev/null +++ b/sys-kernel/dracut-openssh/files/sshd-banner @@ -0,0 +1,2 @@ +To unlock LUKS volume type "systemd-tty-ask-password-agent" command. + diff --git a/sys-kernel/dracut-openssh/files/sshd_config b/sys-kernel/dracut-openssh/files/sshd_config index bb61a4d..ac55920 100644 --- a/sys-kernel/dracut-openssh/files/sshd_config +++ b/sys-kernel/dracut-openssh/files/sshd_config @@ -4,6 +4,7 @@ AuthorizedKeysFile .ssh/authorized_keys AuthenticationMethods publickey UsePAM no X11Forwarding no +Banner /etc/ssh/sshd-banner AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT