mirror of git://anongit.mindrot.org/openssh.git
100 lines
2.2 KiB
Plaintext
100 lines
2.2 KiB
Plaintext
|
#! /bin/sh
|
||
|
#
|
||
|
# Generic network daemon RC script. If installed as /etc/rc.d/init.d/foobar,
|
||
|
# it source /etc/sysconfig/daemons/foobar and looks at the
|
||
|
# variable definitions (Bourne shell syntax). Variables marked with an
|
||
|
# asterisk are required.
|
||
|
#
|
||
|
# * IDENT=sshd
|
||
|
# DESCRIPTIVE="@OPENSSH_VERSION@"
|
||
|
# * DAEMON=/usr/sbin/sshd
|
||
|
# DAEMON_ARGS="-p some_other_port"
|
||
|
# ONBOOT=yes
|
||
|
#
|
||
|
|
||
|
# Source networking configuration.
|
||
|
. /etc/sysconfig/network
|
||
|
|
||
|
# Check that networking is up.
|
||
|
[ ${NETWORKING} = "no" ] && exit 0
|
||
|
|
||
|
# Source function library, check sysconfig/daemon file and source it.
|
||
|
. /etc/rc.d/init.d/functions
|
||
|
|
||
|
[ -x $DAEMON ] || exit 0
|
||
|
|
||
|
# Some functions to make the below more readable
|
||
|
KEYGEN=/usr/bin/ssh-keygen
|
||
|
RSA1_KEY=/etc/ssh/ssh_host_key
|
||
|
RSA_KEY=/etc/ssh/ssh_host_rsa_key
|
||
|
DSA_KEY=/etc/ssh/ssh_host_dsa_key
|
||
|
PID_FILE=/var/run/sshd.pid
|
||
|
do_rsa1_keygen() {
|
||
|
if ! test -f $RSA1_KEY ; then
|
||
|
echo -n "Generating SSH1 RSA host key: "
|
||
|
if $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null; then
|
||
|
echo "RSA1 key generation success"
|
||
|
else
|
||
|
echo "RSA1 key generation failure"
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
}
|
||
|
do_rsa_keygen() {
|
||
|
if ! test -f $RSA_KEY ; then
|
||
|
echo -n "Generating SSH2 RSA host key: "
|
||
|
if $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' >&/dev/null; then
|
||
|
echo "RSA key generation success"
|
||
|
else
|
||
|
echo "RSA key generation failure"
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
}
|
||
|
do_dsa_keygen() {
|
||
|
if ! test -f $DSA_KEY ; then
|
||
|
echo -n "Generating SSH2 DSA host key: "
|
||
|
if $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' >&/dev/null; then
|
||
|
echo "DSA key generation success"
|
||
|
else
|
||
|
echo "DSA key generation failure"
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
# See how we were called.
|
||
|
case "$1" in
|
||
|
start)
|
||
|
# Create keys if necessary
|
||
|
do_rsa1_keygen
|
||
|
do_rsa_keygen
|
||
|
do_dsa_keygen
|
||
|
|
||
|
# Start daemons.
|
||
|
[ ! -e $LOCK ] || exit 1
|
||
|
echo -n "Starting $SUBSYS services: "
|
||
|
start-stop-daemon -S -n $IDENT -x $DAEMON -- $DAEMON_ARGS
|
||
|
sleep 1
|
||
|
echo .
|
||
|
touch $LOCK
|
||
|
;;
|
||
|
stop)
|
||
|
# Stop daemons.
|
||
|
[ -e $LOCK ] || exit 0
|
||
|
echo -n "Stopping $SUBSYS services: "
|
||
|
start-stop-daemon -K -n $IDENT -x $DAEMON
|
||
|
echo
|
||
|
rm -f $LOCK
|
||
|
;;
|
||
|
restart)
|
||
|
$0 stop
|
||
|
$0 start
|
||
|
;;
|
||
|
*)
|
||
|
echo "Usage: $SUBSYS {start|stop|restart}"
|
||
|
exit 1
|
||
|
esac
|
||
|
|
||
|
exit 0
|