aports/community/tinyssh/tinyssh.initd
Peter Shkenev 8af9caeae0 community/tinyssh: terminate sessions on shutdown
Copied from openssh sshd.initd
2023-03-28 17:23:56 +00:00

43 lines
1.0 KiB
Bash

#!/sbin/openrc-run
# Alpine Linux init.d for TinySSH
# Copyright 2017 Stuart Cardall (https://github.com/itoffshore)
# Distributed under the terms of the GNU General Public License, v2 or later #
# Modified by Laurent Bercot <ska-devel@skarnet.org> 2021-12-07
OPTIONS=${OPTIONS:-\-v -l}
PORT=${PORT:-22}
IP=${IP:-0.0.0.0}
CONFDIR=${CONFDIR:-/etc/tinyssh}
keydir=${CONFDIR}/sshkeys
depend() {
use net
after logger firewall
}
name=tinysshd
description="Small SSH server using libsodium (no dependency on OpenSSL)"
command="s6-tcpserver"
command_args="${IP} ${PORT} $name ${OPTIONS} $keydir"
command_background=true
pidfile=/var/run/tinysshd.pid
start_pre() {
if ! [ -d "$keydir" ]; then
checkpath -D ${CONFDIR}
tinysshd-makekey $keydir 2>/dev/null
fi
}
stop_post() {
if [ "$RC_RUNLEVEL" = "shutdown" ]; then
local _tinysshd_pids=$(pgrep tinysshd)
if [ -n "$_tinysshd_pids" ]; then
ebegin "Shutting down ssh connections"
# shellcheck disable=SC2086
kill -TERM $_tinysshd_pids >/dev/null 2>&1
eend 0
fi
fi
}