diff options
Diffstat (limited to 'debian/openssh-server.ssh.runscript')
-rw-r--r-- | debian/openssh-server.ssh.runscript/finish | 16 | ||||
-rw-r--r-- | debian/openssh-server.ssh.runscript/run | 20 |
2 files changed, 36 insertions, 0 deletions
diff --git a/debian/openssh-server.ssh.runscript/finish b/debian/openssh-server.ssh.runscript/finish new file mode 100644 index 0000000..8c67acf --- /dev/null +++ b/debian/openssh-server.ssh.runscript/finish @@ -0,0 +1,16 @@ +#!/bin/sh +set -e + +NAME=ssh + +[ "$1" = -1 ] && echo "runsv: ERROR in $NAME: unexpected error or wrong sh syntax" +# no need to stop the service here, runsv will stop trying after the first attempt + +[ "$1" = 161 ] && echo "runsv: ERROR $1 in $NAME: disabled by local settings" \ + && sv d "$(dirname "$0")" && exit 0 + +[ "$1" = 162 ] && echo "runsv: ERROR $1 in $NAME: configtest or early setup failed" \ + && sv d "$(dirname "$0")" && exit 0 + +echo "$NAME Stopped" + diff --git a/debian/openssh-server.ssh.runscript/run b/debian/openssh-server.ssh.runscript/run new file mode 100644 index 0000000..1d05245 --- /dev/null +++ b/debian/openssh-server.ssh.runscript/run @@ -0,0 +1,20 @@ +#!/usr/bin/env /lib/runit/invoke-run +set -e + +NAME="ssh" + +sv start auditd || sv check auditd || true + +# don't start if 'sshd_not_to_be_run' exists +test -e /etc/ssh/sshd_not_to_be_run && exit 161 + +#Create /run/sshd +test -d /run/sshd || mkdir /run/sshd && chmod 0755 /run/sshd + +exec 2>&1 + +#Config test +/usr/sbin/sshd -t || exit 162 + +echo "Starting $NAME..." +exec /usr/sbin/sshd -D -e $SSHD_OPTS |