#!/bin/bash source ~/.bashrc # Fix VM SSH Access via Proxmox Console # Instructions for manual console access to fix SSH keys set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" # Load environment variables if [ -f "$PROJECT_ROOT/.env" ]; then set -a source <(grep -v '^#' "$PROJECT_ROOT/.env" | grep -v '^$' | sed 's/#.*$//' | grep '=') set +a fi # Colors RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' log_info() { echo -e "${GREEN}[INFO]${NC} $1" } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1" } log_error() { echo -e "${RED}[ERROR]${NC} $1" } SSH_KEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBGrtqePuHm2bJLNnQbuzYrpcXoHHhwWv5s2RmqEezbz proxmox-access" # VMID NAME (IPs will be discovered via guest agent or shown from Proxmox Summary) VMS=( "100 cloudflare-tunnel" "101 k3s-master" "102 git-server" "103 observability" ) # Fallback IPs for reference (when guest agent not available) declare -A FALLBACK_IPS=( ["100"]="192.168.1.60" ["101"]="192.168.1.188" ["102"]="192.168.1.121" ["103"]="192.168.1.82" ) main() { echo "=========================================" echo "Fix VM SSH Access via Console" echo "=========================================" echo "" log_info "Since SSH is not working, use Proxmox Console to fix:" echo "" for vm_spec in "${VMS[@]}"; do read -r vmid name <<< "$vm_spec" # Try to get IP from guest agent (if available) local ip="${FALLBACK_IPS[$vmid]:-}" if [ -f "$PROJECT_ROOT/scripts/lib/proxmox_vm_helpers.sh" ]; then source "$PROJECT_ROOT/scripts/lib/proxmox_vm_helpers.sh" 2>/dev/null || true local discovered_ip discovered_ip="$(get_vm_ip_from_guest_agent "$vmid" 2>/dev/null || true)" [[ -n "$discovered_ip" ]] && ip="$discovered_ip" fi echo "VM $vmid: $name" if [[ -n "$ip" ]]; then echo " Expected IP: $ip (check Proxmox Summary if different)" else echo " IP: Check Proxmox Summary for current IP" fi echo " 1. Access Proxmox Web UI: https://192.168.1.206:8006" echo " 2. Navigate to: VM $vmid ($name) → Console" echo " 3. Login as: ubuntu" echo " 4. Run these commands:" echo "" echo " mkdir -p ~/.ssh" echo " chmod 700 ~/.ssh" echo " echo '$SSH_KEY' >> ~/.ssh/authorized_keys" echo " chmod 600 ~/.ssh/authorized_keys" echo "" echo " 5. Install QEMU Guest Agent:" echo "" echo " sudo apt update" echo " sudo apt install -y qemu-guest-agent" echo " sudo systemctl enable qemu-guest-agent" echo " sudo systemctl start qemu-guest-agent" echo "" if [[ -n "$ip" ]]; then echo " 6. Test SSH from workstation:" echo "" echo " ssh -i ~/.ssh/id_ed25519_proxmox ubuntu@$ip" else echo " 6. Test SSH from workstation (use IP from Proxmox Summary):" echo "" echo " ssh -i ~/.ssh/id_ed25519_proxmox ubuntu@" fi echo "" echo "----------------------------------------" echo "" done log_info "After fixing SSH, you can:" echo " - Deploy services via SSH" echo " - Use QEMU Guest Agent for automation" echo " - Complete remaining tasks" } main "$@"