+++ /dev/null
-#!/bin/bash
-#
-# sshd Start up the OpenSSH server daemon
-#
-# chkconfig: 2345 55 25
-# description: SSH is a protocol for secure remote shell access. \
-# This service starts up the OpenSSH server daemon.
-#
-# processname: sshd
-# config: /etc/ssh/ssh_host_key
-# config: /etc/ssh/ssh_host_key.pub
-# config: /etc/ssh/ssh_random_seed
-# config: /etc/ssh/sshd_config
-# pidfile: /var/run/sshd.pid
-
-### BEGIN INIT INFO
-# Provides: sshd
-# Required-Start: $local_fs $network $syslog
-# Required-Stop: $local_fs $syslog
-# Should-Start: $syslog
-# Should-Stop: $network $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Start up the OpenSSH server daemon
-# Description: SSH is a protocol for secure remote shell access.
-# This service starts up the OpenSSH server daemon.
-### END INIT INFO
-
-# source function library
-. /etc/init.d/functions
-
-# pull in sysconfig settings
-[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
-
-RETVAL=0
-prog="sshd"
-lockfile=/var/lock/subsys/$prog
-
-# Some functions to make the below more readable
-SSHD=/usr/sbin/sshd
-XPID_FILE=/var/run/sshd.pid
-PID_FILE=/var/run/sshd-s.pid
-
-runlevel=$(set -- $(runlevel); eval "echo \$$#" )
-
-do_restart_sanity_check()
-{
- $SSHD -t
- RETVAL=$?
- if [ $RETVAL -ne 0 ]; then
- failure $"Configuration file or keys are invalid"
- echo
- fi
-}
-
-start()
-{
- [ -x $SSHD ] || exit 5
- [ -f /etc/ssh/sshd_config ] || exit 6
- # Create keys if necessary
- /usr/sbin/sshd-keygen
-
- # In rare instances, sshd may be started but a pid
- # file is not generated. This is seen usually during
- # system reboot scenarios. A subsequent attempt to start
- # sshd here will trigger a port bind error. As a sanity
- # check attempt a kill call (mostly redundant) to any
- # previously running sshd instance
- /bin/kill `/bin/pidof "$SSHD"` >/dev/null 2>&1
-
- echo -n $"Starting $prog: "
- $SSHD $OPTIONS && success || failure
- RETVAL=$?
- [ $RETVAL -eq 0 ] && touch $lockfile
- [ $RETVAL -eq 0 ] && cp -f $XPID_FILE $PID_FILE
- echo
- return $RETVAL
-}
-
-stop()
-{
-
- echo -n $"Stopping $prog: "
- if [ ! -f "$PID_FILE" ]; then
- # not running; per LSB standards this is "ok"
- action $"Stopping $prog: " /bin/true
- return 0
- fi
- PID=`cat "$PID_FILE"`
- if [ -n "$PID" ]; then
- /bin/kill "$PID" >/dev/null 2>&1
- RETVAL=$?
- if [ $RETVAL -eq 0 ]; then
- RETVAL=1
- action $"Stopping $prog: " /bin/false
- else
- action $"Stopping $prog: " /bin/true
- fi
- else
- # failed to read pidfile
- action $"Stopping $prog: " /bin/false
- RETVAL=4
- fi
- # if we are in halt or reboot runlevel kill all running sessions
- # so the TCP connections are closed cleanly
- if [ "x$runlevel" = x0 -o "x$runlevel" = x6 ] ; then
- trap '' TERM
- killall $prog 2>/dev/null
- trap TERM
- fi
- [ $RETVAL -eq 0 ] && rm -f $lockfile
- rm -f "$PID_FILE"
- return $RETVAL
-}
-
-reload()
-{
- echo -n $"Reloading $prog: "
- if [ -n "`pidfileofproc $SSHD`" ] ; then
- killproc $SSHD -HUP
- else
- failure $"Reloading $prog"
- fi
- RETVAL=$?
- echo
-}
-
-restart() {
- stop
- start
-}
-
-force_reload() {
- restart
-}
-
-rh_status() {
- status -p $PID_FILE openssh-daemon
-}
-
-rh_status_q() {
- rh_status >/dev/null 2>&1
-}
-
-case "$1" in
- start)
- rh_status_q && exit 0
- start
- ;;
- stop)
- if ! rh_status_q; then
- rm -f $lockfile
- exit 0
- fi
- stop
- ;;
- restart)
- restart
- ;;
- reload)
- rh_status_q || exit 7
- reload
- ;;
- force-reload)
- force_reload
- ;;
- condrestart|try-restart)
- rh_status_q || exit 0
- if [ -f $lockfile ] ; then
- do_restart_sanity_check
- if [ $RETVAL -eq 0 ] ; then
- stop
- # avoid race
- sleep 3
- start
- else
- RETVAL=6
- fi
- fi
- ;;
- status)
- rh_status
- RETVAL=$?
- if [ $RETVAL -eq 3 -a -f $lockfile ] ; then
- RETVAL=2
- fi
- ;;
- *)
- echo $"Usage: $0 {start|stop|restart|reload|force-reload|condrestart|try-restart|status}"
- RETVAL=2
-esac
-exit $RETVAL