dropbear.init 818 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/bin/sh
  2. #FWINIT 50
  3. . /etc/rc.conf
  4. bothlog() {
  5. echo "$*"
  6. }
  7. case $1 in
  8. autostop) ;;
  9. autostart)
  10. [[ $dropbear_flags = NO ]] && exit 0
  11. exec sh $0 start
  12. ;;
  13. start)
  14. if test ! -f /etc/dropbear/dropbear_rsa_host_key; then
  15. mkdir -p /etc/dropbear
  16. if test ! -x /usr/bin/dropbearkey; then
  17. bothlog dropbear not starting: SSH private key missing
  18. exit 0
  19. fi
  20. bothlog "dropbear: generating SSH private key (RSA)"
  21. /usr/bin/dropbearkey -f /etc/dropbear/dropbear_rsa_host_key \
  22. -t rsa; rv=$?
  23. bothlog dropbear: key generation exited with code $rv
  24. test $rv = 0 || exit 1
  25. test -f /etc/dropbear/dropbear_rsa_host_key || exit 1
  26. fi
  27. /usr/sbin/dropbear $dropbear_flags
  28. ;;
  29. stop)
  30. killall dropbear
  31. ;;
  32. restart)
  33. sh $0 stop
  34. sh $0 start
  35. ;;
  36. *)
  37. echo "Usage: $0 {start | stop | restart}"
  38. exit 1
  39. ;;
  40. esac
  41. exit $?