You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
972 B
Bash
43 lines
972 B
Bash
#! /bin/sh
|
|
# Reload the OpenSSH server when an interface comes up, to allow it to start
|
|
# listening on new addresses.
|
|
|
|
set -e
|
|
|
|
# Don't bother to restart sshd when lo is configured.
|
|
if [ "$IFACE" = lo ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# Only run from ifup.
|
|
if [ "$MODE" != start ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# OpenSSH only cares about inet and inet6. Get ye gone, strange people
|
|
# still using ipx.
|
|
if [ "$ADDRFAM" != inet ] && [ "$ADDRFAM" != inet6 ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# Is /usr mounted?
|
|
if [ ! -e /usr/sbin/sshd ]; then
|
|
exit 0
|
|
fi
|
|
|
|
if [ ! -f /run/sshd.pid ] || \
|
|
[ "$(ps -p "$(cat /run/sshd.pid)" -o comm=)" != sshd ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# We'd like to use 'reload' here, but it has some problems; see #502444. On
|
|
# the other hand, repeated restarts of ssh make systemd unhappy
|
|
# (#756547/#757822), so use reload in that case.
|
|
if [ -d /run/systemd/system ]; then
|
|
systemctl reload --no-block ssh.service >/dev/null 2>&1 || true
|
|
else
|
|
invoke-rc.d ssh restart >/dev/null 2>&1 || true
|
|
fi
|
|
|
|
exit 0
|