]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
exoscale: Get SSH key from meta-data API
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 29 Sep 2020 08:05:44 +0000 (08:05 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 29 Sep 2020 08:05:44 +0000 (08:05 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/initscripts/helper/exoscale-setup

index bc2f8a2827dec37122993590663e735f71c66bdf..59859a6e92ff5a9ccc8f3398711fc4763c196283 100644 (file)
@@ -49,22 +49,17 @@ import_exoscale_configuration() {
                usermod -p "x" setup
        fi
 
-       # Import SSH keys for setup user
-       local line
-       for line in $(get "meta-data/public-keys/"); do
-               local key_no="${line%=*}"
-
-               local key="$(get meta-data/public-keys/${key_no}/openssh-key)"
-               if [ -n "${key}" ] && ! grep -q "^${key}$" "/home/setup/.ssh/authorized_keys" 2>/dev/null; then
-                       mkdir -p "/home/setup/.ssh"
-                       chmod 700 "/home/setup/.ssh"
-                       chown setup.nobody "/home/setup/.ssh"
-
-                       echo "${key}" >> "/home/setup/.ssh/authorized_keys"
-                       chmod 600 "/home/setup/.ssh/authorized_keys"
-                       chown setup.nobody "/home/setup/.ssh/authorized_keys"
-               fi
-       done
+       # Import SSH key for setup user
+       local key=$(get "meta-data/public-keys")
+       if [ -n "${key}" ] && ! grep -q "^${key}$" "/home/setup/.ssh/authorized_keys" 2>/dev/null; then
+               mkdir -p "/home/setup/.ssh"
+               chmod 700 "/home/setup/.ssh"
+               chown setup.nobody "/home/setup/.ssh"
+
+               echo "${key}" >> "/home/setup/.ssh/authorized_keys"
+               chmod 600 "/home/setup/.ssh/authorized_keys"
+               chown setup.nobody "/home/setup/.ssh/authorized_keys"
+       fi
 
        # Download the user-data script only on the first boot
        if [ ! -e "/var/ipfire/main/firstsetup_ok" ]; then