bolt/vm_automation/alpine/tasks/set_root_password.sh

26 lines
825 B
Bash

#!/bin/bash
# Task to set password for root user (alpine::set_root_password)
# Input Variables
STAGING_IP="${PT_staging_ip}"
# Function to check last command status
check_status() {
if [ $? -ne 0 ]; then
echo '{"status": "error", "message": "'"$1"'"}'
exit 1
fi
}
# Generate a random 15-character password locally
echo "Generating password..."
ROOT_PASSWORD=$(head -c 30 /dev/urandom | base64 | tr -dc 'a-zA-Z0-9' | head -c 15)
echo "Debug - Generated password: ${ROOT_PASSWORD}"
check_status "Failed to generate password"
# Set the password for root user
ssh -o StrictHostKeyChecking=no root@${STAGING_IP} "echo 'root:${ROOT_PASSWORD}' | chpasswd"
check_status "Failed to set password for root user"
echo '{"status": "success", "message": "Root password set to: '"${ROOT_PASSWORD}"'"}'
exit 0