opt/dropbear/dropbear.rc

68 lines
1.4 KiB
Plaintext
Raw Normal View History

2006-02-23 16:26:10 +01:00
#!/bin/sh
#
# /etc/rc.d/dropbear: start/stop dropbear ssh daemon
#
2015-02-20 12:29:37 +01:00
SSD=/sbin/start-stop-daemon
PROG=/usr/sbin/dropbear
PID=/var/run/dropbear.pid
2006-02-23 16:26:10 +01:00
CONV=/usr/bin/dropbearconvert
KEYG=/usr/bin/dropbearkey
RSA=/etc/dropbear/dropbear_rsa_host_key
DSS=/etc/dropbear/dropbear_dss_host_key
2015-01-18 15:14:23 +01:00
ECDSA=/etc/dropbear/dropbear_ecdsa_host_key
2006-02-23 16:26:10 +01:00
2015-02-20 12:29:37 +01:00
create_keys() {
2006-02-23 16:26:10 +01:00
if [ ! -f $RSA ]; then
if [ -f /etc/ssh/ssh_host_rsa_key ]; then
$CONV openssh dropbear /etc/ssh/ssh_host_rsa_key $RSA
else
2015-01-18 15:14:23 +01:00
$KEYG -t rsa -s 4096 -f $RSA
2006-02-23 16:26:10 +01:00
fi
fi
if [ ! -f $DSS ]; then
if [ -f /etc/ssh/ssh_host_dsa_key ]; then
$CONV openssh dropbear /etc/ssh/ssh_host_dsa_key $DSS
else
2015-02-20 12:29:37 +01:00
$KEYG -t dss -f $DSS
2006-02-23 16:26:10 +01:00
fi
fi
2015-01-18 15:14:23 +01:00
if [ ! -f $ECDSA ]; then
if [ -f /etc/ssh/ssh_host_ecdsa_key ]; then
$CONV openssh dropbear /etc/ssh/ssh_host_ecdsa_key $ECDSA
else
2015-02-20 12:29:37 +01:00
$KEYG -t ecdsa -s 521 -f $ECDSA
2015-01-18 15:14:23 +01:00
fi
fi
2015-02-20 12:29:37 +01:00
}
case $1 in
start)
create_keys
$SSD --start --pidfile $PID --exec $PROG
2006-02-23 16:26:10 +01:00
;;
stop)
2015-02-20 12:29:37 +01:00
$SSD --stop --retry 10 --pidfile $PID
2006-02-23 16:26:10 +01:00
;;
restart)
$0 stop
$0 start
;;
2015-02-20 12:29:37 +01:00
status)
$SSD --status --pidfile $PID
case $? in
0) echo "$PROG is running with pid $(cat $PID)" ;;
2015-02-20 12:29:37 +01:00
1) echo "$PROG is not running but the pid file $PID exists" ;;
3) echo "$PROG is not running" ;;
4) echo "Unable to determine the program status" ;;
esac
;;
2006-02-23 16:26:10 +01:00
*)
2015-02-20 12:29:37 +01:00
echo "usage: $0 [start|stop|restart|status]"
2006-02-23 16:26:10 +01:00
;;
esac
# End of file