Files
Sankofa/scripts/test-ssh-password.sh

64 lines
2.1 KiB
Bash
Raw Normal View History

#!/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