hc
2023-11-20 2e7bd41e4e8ab3d1efdabd9e263a2f7fe79bff8c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/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 $?