| #!/bin/sh | 
| # | 
| # Starts dropbear sshd. | 
| # | 
|   | 
| # Allow a few customizations from a config file | 
| test -r /etc/default/dropbear && . /etc/default/dropbear | 
|   | 
| start() { | 
|     DROPBEAR_ARGS="$DROPBEAR_ARGS -R" | 
|   | 
|     # If /etc/dropbear is a symlink to /var/run/dropbear, and | 
|     #   - the filesystem is RO (i.e. we can not rm the symlink), | 
|     #     create the directory pointed to by the symlink. | 
|     #   - the filesystem is RW (i.e. we can rm the symlink), | 
|     #     replace the symlink with an actual directory | 
|     if [ -L /etc/dropbear \ | 
|          -a "$(readlink /etc/dropbear)" = "/var/run/dropbear" ] | 
|     then | 
|         if rm -f /etc/dropbear >/dev/null 2>&1; then | 
|             mkdir -p /etc/dropbear | 
|         else | 
|             echo "No persistent location to store SSH host keys. New keys will be" | 
|             echo "generated at each boot. Are you sure this is what you want to do?" | 
|             mkdir -p "$(readlink /etc/dropbear)" | 
|         fi | 
|     fi | 
|   | 
|     printf "Starting dropbear sshd: " | 
|     umask 077 | 
|   | 
|     start-stop-daemon -S -q -p /var/run/dropbear.pid \ | 
|         --exec /usr/sbin/dropbear -- $DROPBEAR_ARGS | 
|     [ $? = 0 ] && echo "OK" || echo "FAIL" | 
| } | 
| stop() { | 
|     printf "Stopping dropbear sshd: " | 
|     start-stop-daemon -K -q -p /var/run/dropbear.pid | 
|     [ $? = 0 ] && echo "OK" || echo "FAIL" | 
| } | 
| restart() { | 
|     stop | 
|     start | 
| } | 
|   | 
| case "$1" in | 
|   start) | 
|       start | 
|     ;; | 
|   stop) | 
|       stop | 
|     ;; | 
|   restart|reload) | 
|       restart | 
|     ;; | 
|   *) | 
|     echo "Usage: $0 {start|stop|restart}" | 
|     exit 1 | 
| esac | 
|   | 
| exit $? |