47 lines
1 KiB
Bash
Executable file
47 lines
1 KiB
Bash
Executable file
#!/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
|
|
}
|