Merge "add option to configure cloud-init to allow password authentication"

This commit is contained in:
Jenkins 2016-12-05 06:54:50 +00:00 committed by Gerrit Code Review
commit e19a3d823a
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