#!/bin/sh #PKG dropbear #INIT 50 . /etc/rc.conf case $1 in autostop) ;; autostart) test x"${dropbear:-NO}" = x"NO" && exit 0 exec sh $0 start ;; start) if test ! -f /etc/dropbear/dropbear_rsa_host_key; then mkdir -p /etc/dropbear if test ! -x /usr/bin/dropbearkey; then echo "dropbear not starting: SSH private key missing" exit 0 fi echo "dropbear: generating SSH private key (RSA)" /usr/bin/dropbearkey -f /etc/dropbear/dropbear_rsa_host_key \ -t rsa ; rv=$? echo "dropbear: key generation exited with code $rv" test $rv = 0 || exit 1 test -f /etc/dropbear/dropbear_rsa_host_key || exit 1 fi if test ! -f /etc/dropbear/dropbear_dss_host_key; then # take it easy here, since above already catched the worst cases if test -x /usr/bin/dropbearkey; then echo "dropbear: generating SSH private key (DSS)" /usr/bin/dropbearkey -f /etc/dropbear/dropbear_dss_host_key -t dss echo "dropbear: key generation exited with code $?" fi fi if test ! -f /etc/dropbear/dropbear_ecdsa_host_key; then # take it easy here, since above already catched the worst cases if test -x /usr/bin/dropbearkey; then echo "dropbear: generating SSH private key (ECDSA)" /usr/bin/dropbearkey -f /etc/dropbear/dropbear_ecdsa_host_key -t ecdsa echo "dropbear: key generation exited with code $?" fi fi /usr/sbin/dropbear $dropbear_flags ;; stop) kill $(pgrep -f /usr/sbin/dropbear) ;; restart) sh $0 stop sh $0 start ;; *) echo "Usage: $0 {start | stop | restart}" exit 1 ;; esac exit $?