#!/bin/bash # Test SSH password from .env file set -e # Get the directory where this script is located SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Get the project root (one level up from scripts directory) PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" # Locate .env file in project root ENV_FILE="$PROJECT_ROOT/.env" # Verify .env file exists if [[ ! -f "$ENV_FILE" ]]; then echo "Error: .env file not found at $ENV_FILE" echo "Current directory: $(pwd)" echo "Script directory: $SCRIPT_DIR" echo "Project root: $PROJECT_ROOT" exit 1 fi if [[ -f "$ENV_FILE" ]]; then # Extract password from .env (lines 45-46) PROXMOX_PASSWORD=$(sed -n '45,46p' "$ENV_FILE" | grep "PROXMOX_ROOT_PASS" | head -1 | cut -d'=' -f2- | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') # Remove quotes if present PROXMOX_PASSWORD="${PROXMOX_PASSWORD#\"}" PROXMOX_PASSWORD="${PROXMOX_PASSWORD%\"}" PROXMOX_PASSWORD="${PROXMOX_PASSWORD#\'}" PROXMOX_PASSWORD="${PROXMOX_PASSWORD%\'}" echo "Password extracted from .env:" echo " Length: ${#PROXMOX_PASSWORD} characters" echo " First 3 chars: ${PROXMOX_PASSWORD:0:3}..." echo "" if ! command -v sshpass &> /dev/null; then echo "Error: sshpass not installed" exit 1 fi echo "Testing ML110-01 (192.168.11.10)..." if sshpass -p "$PROXMOX_PASSWORD" ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no root@192.168.11.10 'hostname && pveversion' 2>&1; then echo "✅ ML110-01: Connection successful!" else echo "❌ ML110-01: Connection failed" echo "" echo "Note: If password is incorrect, update .env file line 45-46" fi echo "" echo "Testing R630-01 (192.168.11.11)..." if sshpass -p "$PROXMOX_PASSWORD" ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no root@192.168.11.11 'hostname && pveversion' 2>&1; then echo "✅ R630-01: Connection successful!" else echo "❌ R630-01: Connection failed" echo "" echo "Note: If password is incorrect, update .env file line 45-46" fi else echo "Error: .env file not found at $ENV_FILE" exit 1 fi