#!/sbin/runscript # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/files/sshd.rc6,v 1.21 2006/10/14 11:04:32 uberlord Exp $ opts="reload" depend() { use logger dns need net } SSHD_CONFDIR=${SSHD_CONFDIR:-/etc/ssh} SSHD_PIDFILE=${SSHD_PIDFILE:-/var/run/${SVCNAME}.pid} SSHD_BINARY=${SSHD_BINARY:-/usr/sbin/sshd} checkconfig() { if [[ ! -d /var/empty ]] ; then mkdir -p /var/empty || return 1 fi if [[ ! -e ${SSHD_CONFDIR}/sshd_config ]] ; then eerror "You need an ${SSHD_CONFDIR}/sshd_config file to run sshd" eerror "There is a sample file in /usr/share/doc/openssh" return 1 fi gen_keys || return 1 ${SSHD_BINARY} -t ${myopts} || return 1 } gen_keys() { if [[ ! -e ${SSHD_CONFDIR}/ssh_host_key ]] ; then einfo "Generating Hostkey..." /usr/bin/ssh-keygen -t rsa1 -b 1024 -f ${SSHD_CONFDIR}/ssh_host_key -N '' || return 1 fi if [[ ! -e ${SSHD_CONFDIR}/ssh_host_dsa_key ]] ; then einfo "Generating DSA-Hostkey..." /usr/bin/ssh-keygen -d -f ${SSHD_CONFDIR}/ssh_host_dsa_key -N '' || return 1 fi if [[ ! -e ${SSHD_CONFDIR}/ssh_host_rsa_key ]] ; then einfo "Generating RSA-Hostkey..." /usr/bin/ssh-keygen -t rsa -f ${SSHD_CONFDIR}/ssh_host_rsa_key -N '' || return 1 fi return 0 } start() { local myopts="" [[ ${SSHD_PIDFILE} != "/var/run/sshd.pid" ]] \ && myopts="${myopts} -o PidFile=${SSHD_PIDFILE}" [[ ${SSHD_CONFDIR} != "/etc/ssh" ]] \ && myopts="${myopts} -f ${SSHD_CONFDIR}/sshd_config" checkconfig || return 1 ebegin "Starting ${SVCNAME}" start-stop-daemon --start --exec ${SSHD_BINARY} \ --pidfile ${SSHD_PIDFILE} \ -- ${myopts} ${SSHD_OPTS} eend $? } stop() { ebegin "Stopping ${SVCNAME}" start-stop-daemon --stop --quiet \ --exec ${SSHD_BINARY} --pidfile ${SSHD_PIDFILE} eend $? } reload() { ebegin "Reloading ${SVCNAME}" start-stop-daemon --stop --signal HUP --oknodo \ --exec ${SSHD_BINARY} --pidfile ${SSHD_PIDFILE} eend $? }