blob: 7e5ccf079de365dd5315bcaebfeefcb275f81acf [file] [log] [blame]
#!/bin/sh
#
# sshd Starts sshd.
#
DAEMON="sshd"
PIDFILE="/var/run/$DAEMON.pid"
# Make sure the ssh-keygen program exists
[ -f /usr/bin/ssh-keygen ] || exit 0
umask 077
start() {
# Create any missing keys
/usr/bin/ssh-keygen -A
printf "Starting %s: " "$DAEMON"
start-stop-daemon --start --pidfile "$PIDFILE" \
--exec "/usr/sbin/$DAEMON"
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
stop() {
printf "Stopping sshd: "
start-stop-daemon --stop --pidfile "$PIDFILE" \
--exec "/usr/sbin/$DAEMON"
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
# sshd deletes its PID file on exit, wait for it to be gone
while [ -f "$PIDFILE" ]; do
sleep 0.1
done
return "$status"
}
restart() {
stop
start
}
reload() {
printf "Reloading sshd config: "
start-stop-daemon --stop --signal HUP -q --pidfile "$PIDFILE" \
--exec "/usr/sbin/$DAEMON"
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit $?