#!/bin/sh # Shared environment for all VM scripts. # Source this — don't execute directly. # Caller must set QEMU_VM, or we fall back to PATH lookup. QEMU_VM="${QEMU_VM:-qemu-vm}" BRIDGE=qemu-br0 GATEWAY=10.10.0.1/24 SUBNET=10.10.0.0/24 NETWORK=lab PROXY_VM=vm-proxy PROXY_IP=10.10.0.2/24 IDP_VM=vm-idp IDP_IP=10.10.0.3/24 PROXY_HOST="${PROXY_IP%%/*}" IDP_HOST="${IDP_IP%%/*}" SSH_USER=debian SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR" clear_host_keys() { ssh-keygen -R "$PROXY_HOST" 2>/dev/null || true ssh-keygen -R "$IDP_HOST" 2>/dev/null || true } learn_host_keys() { ssh-keyscan -H "$PROXY_HOST" >> ~/.ssh/known_hosts 2>/dev/null ssh-keyscan -H "$IDP_HOST" >> ~/.ssh/known_hosts 2>/dev/null } wait_ssh() { _host=$1 _i=0 while [ "$_i" -lt 60 ]; do # shellcheck disable=SC2086 if ssh $SSH_OPTS "${SSH_USER}@${_host}" true 2>/dev/null; then return 0 fi _i=$((_i + 1)) sleep 1 done echo "SSH timeout: ${_host}" >&2 return 1 }