61 lines
1.4 KiB
Bash
Executable File
61 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Azure VM login script
|
|
SUBSCRIPTION_ID="fee4ea1f-3e5f-45a6-aaa6-dd6b72f20554"
|
|
RESOURCE_GROUP="UMA-OPENCLAW-BOTS"
|
|
VM_NAME="usaa-openclaw-linux"
|
|
DEFAULT_USER="saravana"
|
|
DEFAULT_HOST="168.61.21.159"
|
|
SSH_KEY="${HOME}/.ssh/id_rsa"
|
|
SSH_PORT=22
|
|
|
|
# Allow overrides via environment variables
|
|
VM_USER="${VM_USER:-$DEFAULT_USER}"
|
|
VM_HOST="${VM_HOST:-}"
|
|
VM_PORT="${VM_PORT:-$SSH_PORT}"
|
|
VM_KEY="${VM_KEY:-$SSH_KEY}"
|
|
|
|
if ! command -v ssh >/dev/null 2>&1; then
|
|
echo "ERROR: ssh is not installed."
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -f "$VM_KEY" ]]; then
|
|
echo "ERROR: SSH key not found at $VM_KEY"
|
|
exit 1
|
|
fi
|
|
|
|
chmod 600 "$VM_KEY"
|
|
|
|
if [[ -z "$VM_HOST" ]] && command -v az >/dev/null 2>&1; then
|
|
VM_HOST="$(az vm show -d \
|
|
--subscription "$SUBSCRIPTION_ID" \
|
|
-g "$RESOURCE_GROUP" \
|
|
-n "$VM_NAME" \
|
|
--query 'publicIps' \
|
|
-o tsv 2>/dev/null || true)"
|
|
fi
|
|
|
|
if [[ -z "$VM_HOST" ]]; then
|
|
VM_HOST="$DEFAULT_HOST"
|
|
fi
|
|
|
|
echo "Connecting to Azure VM"
|
|
echo " VM : $VM_NAME"
|
|
echo " Host : $VM_HOST"
|
|
echo " User : $VM_USER"
|
|
echo " Port : $VM_PORT"
|
|
echo " Key : $VM_KEY"
|
|
echo "──────────────────────────────────"
|
|
|
|
exec ssh \
|
|
-i "$VM_KEY" \
|
|
-p "$VM_PORT" \
|
|
-o StrictHostKeyChecking=accept-new \
|
|
-o ServerAliveInterval=60 \
|
|
-o ServerAliveCountMax=3 \
|
|
-o PasswordAuthentication=no \
|
|
-o IdentitiesOnly=yes \
|
|
"${VM_USER}@${VM_HOST}"
|