1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/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 $?
|