mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 13:27:09 +02:00
43 lines
1.0 KiB
Bash
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
|
|
}
|