add option to configure cloud-init to allow password authentication

This patch will configure cloud-init to allow password authentication.
This is usefull in case you use "devuser" element and want to ssh guest
image.

Change-Id: I00e38aa2753f26b4cdd34d0fd85fc8e0de78171f
This commit is contained in:
Noam Angel 2016-10-31 11:23:33 +02:00
parent be1e563524
commit 55b6101e1b
2 changed files with 31 additions and 0 deletions

View File

@ -6,3 +6,12 @@ Install's and enables cloud-init for systems that don't come with it
pre-installed
Currently only supports Gentoo.
Environment Variables
---------------------
DIB_CLOUD_INIT_ALLOW_PASS_AUTH
:Required: No
:Default: password authentication disabled when cloud-init installed
:Description: customize cloud-init to allow ssh password
authentication.

View File

@ -0,0 +1,22 @@
#!/bin/bash
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
set -x
fi
set -eu
set -o pipefail
# Set cloud-init to allow password authentication
if [ -n "${DIB_CLOUD_INIT_ALLOW_SSH_PWAUTH:-}" ]; then
if [ -f "/etc/cloud/cloud.cfg" ]; then
if [ -z "$(cat /etc/cloud/cloud.cfg | grep ssh_pwauth)" ]; then
echo "ssh_pwauth not exist. append to EOF"
sudo sh -c 'echo "ssh_pwauth: 1" >> /etc/cloud/cloud.cfg'
else
echo "ssh_pwauth exist. make sure ssh_pwauth enabled"
sed -i -e 's/ssh_pwauth: *0/ssh_pwauth: 1/g' /etc/cloud/cloud.cfg
sed -i -e 's/ssh_pwauth: *False/ssh_pwauth: True/g' /etc/cloud/cloud.cfg
sed -i -e 's/ssh_pwauth: *false/ssh_pwauth: true/g' /etc/cloud/cloud.cfg
fi
fi
fi