summaryrefslogtreecommitdiffstats
path: root/projectroot/etc/rc.once.d/dropbear
diff options
context:
space:
mode:
Diffstat (limited to 'projectroot/etc/rc.once.d/dropbear')
-rw-r--r--projectroot/etc/rc.once.d/dropbear23
1 files changed, 21 insertions, 2 deletions
diff --git a/projectroot/etc/rc.once.d/dropbear b/projectroot/etc/rc.once.d/dropbear
index b70f5f22e..0735fed38 100644
--- a/projectroot/etc/rc.once.d/dropbear
+++ b/projectroot/etc/rc.once.d/dropbear
@@ -5,10 +5,11 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
. /usr/lib/init/dropbear.sh
gen_key() {
-
key_type=$1
key_file=$2
+ [ -e "$key_file" ] && return
+
rm -f $key_file > /dev/null 2>&1
echo -n "generating $key_type key..."
@@ -22,4 +23,22 @@ gen_key() {
fi
}
-[ -e "$DROPBEAR_RSAKEY" ] || gen_key rsa "$DROPBEAR_RSAKEY"
+gen_keys() {
+ for keytype in $DROPBEAR_KEYTYPES
+ do
+ case "$keytype" in
+ rsa)
+ gen_key rsa "$DROPBEAR_RSAKEY"
+ ;;
+ *)
+ echo "Key type '$keytype' not supported"
+ ;;
+ esac
+ done
+}
+
+if ! gen_keys
+then
+ echo "Generating SSH keys failed!"
+ exit 1
+fi