mirror of
https://github.com/kernelkit/infix.git
synced 2026-08-06 07:33:01 +02:00
board/common: drop duplicate sshd.config and ssh-hostkeys
Instead, use the version from package/skeleton-init-finit, including the ssh-hostkeys (previously ssh-genhostkeys) from the same package, because it include extensive error handling and logging on failure. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
committed by
Tobias Waldekranz
parent
e85bc8223b
commit
acd33d4fa5
@@ -1,2 +0,0 @@
|
||||
task [S] /lib/infix/ssh-hostkeys --
|
||||
service [2345789] <usr/ssh-hostkeys> /usr/sbin/sshd -D -- OpenSSH daemon
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,2 +1,4 @@
|
||||
task [S] <pid/syslogd> /usr/bin/ssh-genhostkeys -- Verifying SSH host keys
|
||||
service [2345789] <usr/ssh-hostkeys> env:-/etc/default/sshd /usr/sbin/sshd -D $SSHD_OPTS -- OpenSSH daemon
|
||||
task <pid/syslogd> \
|
||||
[S] /usr/bin/ssh-hostkeys -- Verifying SSH host keys
|
||||
service <task/ssh-hostkeys/success> env:-/etc/default/sshd \
|
||||
[2345789] /usr/sbin/sshd -D $SSHD_OPTS -- OpenSSH daemon
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
#!/bin/sh
|
||||
tmp=$(mktemp)
|
||||
dir=$(dirname $(grep -r '^HostKey' /etc/ssh/* |tail -1 | awk '{print $2}'))
|
||||
|
||||
log()
|
||||
{
|
||||
logger -sik -p security.notice -t sshd "$@"
|
||||
}
|
||||
warn()
|
||||
{
|
||||
logger -sik -p security.warning -t sshd "$@"
|
||||
}
|
||||
err()
|
||||
{
|
||||
logger -sik -p security.err -t sshd "$@"
|
||||
}
|
||||
|
||||
check()
|
||||
{
|
||||
if sshd -t >$tmp 2>&1; then
|
||||
log "SSH hostkeys OK, setting ssh-hostkeys condition"
|
||||
initctl cond set ssh-hostkeys
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
rc=0
|
||||
if ! check; then
|
||||
files=$(awk '/invalid format/{print $6}' "$tmp" | sed 's/.*"\(.*\)".*/\1/')
|
||||
for file in $files; do
|
||||
warn "Removing $file: invalid format"
|
||||
rm "$file"
|
||||
done
|
||||
|
||||
log "Generating SSH hostkeys ..."
|
||||
if ssh-keygen -A; then
|
||||
mv /etc/ssh/ssh_host_* "$dir/"
|
||||
fi
|
||||
if ! check; then
|
||||
err "Failed generating SSH hostkeys!"
|
||||
rc=1
|
||||
fi
|
||||
fi
|
||||
|
||||
rm "$tmp"
|
||||
exit $rc
|
||||
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
tmp=$(mktemp)
|
||||
dir=$(dirname "$(grep -r '^HostKey' /etc/ssh/* |tail -1 | awk '{print $2}')")
|
||||
|
||||
log()
|
||||
{
|
||||
prio=notice
|
||||
if [ "$1" = "-p" ]; then
|
||||
prio=$2
|
||||
shift 2
|
||||
fi
|
||||
logger -sik -p "security.$prio" -t sshd "$@"
|
||||
}
|
||||
|
||||
check()
|
||||
{
|
||||
if sshd -t >"$tmp" 2>&1; then
|
||||
log "SSH hostkeys OK, setting ssh-hostkeys condition"
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
rc=0
|
||||
if ! check; then
|
||||
files=$(awk '/invalid format/{print $6}' "$tmp" | sed 's/.*"\(.*\)".*/\1/')
|
||||
for file in $files; do
|
||||
log -p warn "Removing $file: invalid format!"
|
||||
invalid=yes
|
||||
rm "$file"
|
||||
done
|
||||
|
||||
if [ -n "$invalid" ]; then
|
||||
log "Invalid hostkeys detected, regenerating all SSH hostkeys ..."
|
||||
else
|
||||
log "Generating SSH hostkeys ..."
|
||||
fi
|
||||
|
||||
if ssh-keygen -A; then
|
||||
mv /etc/ssh/ssh_host_* "$dir/"
|
||||
fi
|
||||
if ! check; then
|
||||
log -p err "Failed generating SSH hostkeys!"
|
||||
rc=1
|
||||
fi
|
||||
fi
|
||||
|
||||
rm "$tmp"
|
||||
exit $rc
|
||||
Reference in New Issue
Block a user