mirror of
https://github.com/dguglielmi/sunny-overlay.git
synced 2025-12-06 09:32:37 +01:00
sys-kernel/dracut-openssh: add ebuild
This commit is contained in:
5
sys-kernel/dracut-openssh/Manifest
Normal file
5
sys-kernel/dracut-openssh/Manifest
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
AUX dracut-openssh.conf 285 BLAKE2B f318158898f6eb4286ec2cabe26d5552e2bff0771f3704ed17dff3002e02c4587900b647b1502880d8ce0175d2872ac63882cd62db3179905e08b56f413c23fe SHA512 0b745583b97236fa7fe9b5498fae45f93ed3ee4355b43ea4cd0aeeaa1a4033e4f50db820df9ee5f887b18ff2dab9e3617c2fde9189b17129ddf929cdcf638ec8
|
||||||
|
AUX module-setup.sh 1693 BLAKE2B 40e8541f3d80f29e79238ebf4e170051e312f3fd3f6621005c522778401aac6b13e2de28b8a189fa7ab8ca21bf99d0ddadea8d1ac01fdd27d431ab0bf93c6529 SHA512 b4cc6eb049215aed6437bb1f34b1ae6763fe234ae9647c284ba134807fed50d5b04683fba28163fcde5f250b9898c1282c74c4e06d6442df5f6e75c89b093c95
|
||||||
|
AUX sshd.service 312 BLAKE2B e4be767736d45d3ccbe3a6848d32ee6f9523f5e0641cf973da4501b5dcc7a41b9c127f208bb5125cef8683393d25729856652d94e7d5d8154b11a69300a4f860 SHA512 a4aaee86716a51c904ee95a08dae22c79a1153bfc8e1cb1cd15806a133200e3a7aacee9aa4abf0a749544ea898346b79454d6da30cef0ab42253bfbe9b83d866
|
||||||
|
AUX sshd_config 445 BLAKE2B bbefbd4aa04f8edf79e8f09de8479891c85265f211d72511207aefd8551184f3fee4c4a4c964e98cad0398da63b609da68d105dc722e8f648d9e6228fcadd512 SHA512 34aa60a1a605b3e40394011c12e819de2c6d19fab3f710346f8d70d9dc0570cb872054bd328aa7d66b5a0f03bc7250382913786f4295b8477e2b8f0a7de3536d
|
||||||
|
EBUILD dracut-openssh-0.1.ebuild 704 BLAKE2B d7ca3557e9b91b8c76c03597051894d656e12e78e157ea74114b53cc719504b2ae8a2e7d6616d6c07d3838791d1e79653e3bb11caebe54119fcf0382ff8b3679 SHA512 3f6969d51afaf808cdbf01f84482c2d81ab22d88a0c6047be9396418ec5ea8e643cdcb5f4390f0b6610feab270c68d40b00c0b2d58b49e84b561c4975d606718
|
||||||
34
sys-kernel/dracut-openssh/dracut-openssh-0.1.ebuild
Normal file
34
sys-kernel/dracut-openssh/dracut-openssh-0.1.ebuild
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# Copyright 2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
DESCRIPTION="Dracut OpenSSH module"
|
||||||
|
HOMEPAGE="https://github.com/dguglielmi/dracut-openssh"
|
||||||
|
SRC_URI=""
|
||||||
|
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
DEPEND="net-misc/dhcp
|
||||||
|
net-misc/openssh
|
||||||
|
sys-apps/systemd
|
||||||
|
sys-kernel/dracut"
|
||||||
|
RDEPEND="${DEPEND}"
|
||||||
|
|
||||||
|
S="${WORKDIR}"
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
dodir /usr/lib/dracut/modules.d/48openssh
|
||||||
|
|
||||||
|
insinto /usr/lib/dracut/modules.d/48openssh
|
||||||
|
doins "${FILESDIR}"/sshd_config
|
||||||
|
doins "${FILESDIR}"/sshd.service
|
||||||
|
|
||||||
|
exeinto /usr/lib/dracut/modules.d/48openssh
|
||||||
|
doexe "${FILESDIR}/module-setup.sh"
|
||||||
|
|
||||||
|
insinto /etc/dracut.conf.d
|
||||||
|
doins "${FILESDIR}/dracut-openssh.conf"
|
||||||
|
}
|
||||||
10
sys-kernel/dracut-openssh/files/dracut-openssh.conf
Normal file
10
sys-kernel/dracut-openssh/files/dracut-openssh.conf
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# Dracut OpenSSH configuration
|
||||||
|
#
|
||||||
|
#SSHD_OPTS="-e -p 22"
|
||||||
|
#
|
||||||
|
#AUTHORIZED_KEYS="/root/.ssh/authorized_keys"
|
||||||
|
#
|
||||||
|
#DSA_HOST_KEY="/etc/ssh/ssh_host_dsa_key"
|
||||||
|
#ECDSA_HOST_KEY="/etc/ssh/ssh_host_ecdsa_key"
|
||||||
|
#ED25519_HOST_KEY="/etc/ssh/ssh_host_ed25519_key"
|
||||||
|
#RSA_HOST_KEY="/etc/ssh/ssh_host_rsa_key"
|
||||||
61
sys-kernel/dracut-openssh/files/module-setup.sh
Normal file
61
sys-kernel/dracut-openssh/files/module-setup.sh
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# called by dracut
|
||||||
|
check() {
|
||||||
|
#check for sshd
|
||||||
|
require_binaries sshd || return 1
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
depends() {
|
||||||
|
echo network
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
install() {
|
||||||
|
[ -z ${AUTHORIZED_KEYS} ] && AUTHORIZED_KEYS="/root/.ssh/authorized_keys"
|
||||||
|
[ -z ${SSHD_OPTS} ] && SSHD_OPTS="-e -p 22"
|
||||||
|
[ -z ${DSA_HOST_KEY} ] && DSA_HOST_KEY="/etc/ssh/ssh_host_dsa_key"
|
||||||
|
[ -z ${ECDSA_HOST_KEY} ] && ECDSA_HOST_KEY="/etc/ssh/ssh_host_ecdsa_key"
|
||||||
|
[ -z ${ED25519_HOST_KEY} ] && ED25519_HOST_KEY="/etc/ssh/ssh_host_ed25519_key"
|
||||||
|
[ -z ${RSA_HOST_KEY} ] && RSA_HOST_KEY="/etc/ssh/ssh_host_rsa_key"
|
||||||
|
|
||||||
|
local keytype keyfile
|
||||||
|
for keytype in dsa ecdsa ed25519 rsa; do
|
||||||
|
case ${keytype} in
|
||||||
|
dsa) keyfile=${DSA_HOST_KEY} ;;
|
||||||
|
ecdsa) keyfile=${ECDSA_HOST_KEY} ;;
|
||||||
|
ed25519) keyfile=${ED25519_HOST_KEY} ;;
|
||||||
|
rsa) keyfile=${RSA_HOST_KEY} ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
[ -f ${keyfile} ] && inst_simple "${keyfile}" /etc/ssh/ssh_host_${keytype}_key
|
||||||
|
done
|
||||||
|
|
||||||
|
inst_simple "${moddir}/sshd_config" /etc/ssh/sshd_config
|
||||||
|
inst_simple "$(which sshd)"
|
||||||
|
|
||||||
|
inst_simple "${moddir}/sshd.service" ${systemdsystemunitdir}/sshd.service
|
||||||
|
mkdir -p "${initdir}/etc/sysconfig"
|
||||||
|
echo "SSHD_OPTS=\"${SSHD_OPTS}\"" > "${initdir}/etc/sysconfig/sshd"
|
||||||
|
|
||||||
|
if [ -f ${AUTHORIZED_KEYS} ]; then
|
||||||
|
inst_simple ${AUTHORIZED_KEYS} /root/.ssh/authorized_keys
|
||||||
|
else
|
||||||
|
dfatal "No authorized_keys for root user found!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
getent passwd sshd >> "${initdir}/etc/passwd"
|
||||||
|
getent group sshd >> "${initdir}/etc/group"
|
||||||
|
|
||||||
|
mkdir -p -m 0755 "${initdir}$(getent passwd sshd | cut -d':' -f6)"
|
||||||
|
|
||||||
|
systemctl -q --root "${initdir}" enable sshd
|
||||||
|
|
||||||
|
mkdir -p -m 0755 "${initdir}/var/log"
|
||||||
|
touch "${initdir}/var/log/lastlog"
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
19
sys-kernel/dracut-openssh/files/sshd.service
Normal file
19
sys-kernel/dracut-openssh/files/sshd.service
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=OpenSSH server daemon
|
||||||
|
DefaultDependencies=no
|
||||||
|
Before=cryptsetup.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
|
||||||
|
EnvironmentFile=-/etc/sysconfig/sshd
|
||||||
|
|
||||||
|
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
|
||||||
|
|
||||||
|
ExecReload=/bin/kill -HUP $MAINPID
|
||||||
|
KillMode=process
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=42s
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
||||||
10
sys-kernel/dracut-openssh/files/sshd_config
Normal file
10
sys-kernel/dracut-openssh/files/sshd_config
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
SyslogFacility AUTHPRIV
|
||||||
|
PermitRootLogin prohibit-password
|
||||||
|
AuthorizedKeysFile .ssh/authorized_keys
|
||||||
|
AuthenticationMethods publickey
|
||||||
|
UsePAM no
|
||||||
|
X11Forwarding no
|
||||||
|
|
||||||
|
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
|
||||||
|
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
|
||||||
Reference in New Issue
Block a user