Add VM login helpers
This commit is contained in:
parent
e2810b99f8
commit
312a0ebb38
2
.gitignore
vendored
2
.gitignore
vendored
@ -16,6 +16,7 @@ ENV/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
.claude/
|
||||
|
||||
# OS files
|
||||
.DS_Store
|
||||
@ -32,6 +33,7 @@ Thumbs.db
|
||||
.env
|
||||
*.env
|
||||
accounts.json
|
||||
.azure/
|
||||
|
||||
# Generated outputs and local data caches
|
||||
supabase monitor/output/
|
||||
|
||||
60
VMs/AzureVM/login.sh
Executable file
60
VMs/AzureVM/login.sh
Executable file
@ -0,0 +1,60 @@
|
||||
#!/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}"
|
||||
43
VMs/HostingerVM/login.sh
Executable file
43
VMs/HostingerVM/login.sh
Executable file
@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# ── Hostinger VM login script ──────────────────────────────────────────────
|
||||
HOST="srv1491630.hstgr.cloud"
|
||||
DEFAULT_USER="root"
|
||||
SSH_KEY="${HOME}/.ssh/id_ed25519" # change to id_rsa if needed
|
||||
SSH_PORT=22
|
||||
|
||||
# ── Allow overrides via environment variables ──────────────────────────────
|
||||
VM_USER="${VM_USER:-$DEFAULT_USER}"
|
||||
VM_PORT="${VM_PORT:-$SSH_PORT}"
|
||||
VM_KEY="${VM_KEY:-$SSH_KEY}"
|
||||
|
||||
# ── Safety checks ──────────────────────────────────────────────────────────
|
||||
if [[ ! -f "$VM_KEY" ]]; then
|
||||
echo "ERROR: SSH key not found at $VM_KEY"
|
||||
echo " Generate one with: ssh-keygen -t ed25519 -C 'hostinger-vm'"
|
||||
echo " Then copy it: ssh-copy-id -i $VM_KEY ${VM_USER}@${HOST}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Ensure key has correct permissions (SSH refuses overly-permissive keys)
|
||||
chmod 600 "$VM_KEY"
|
||||
|
||||
# ── Print connection info ──────────────────────────────────────────────────
|
||||
echo "Connecting to Hostinger VM"
|
||||
echo " Host : $HOST"
|
||||
echo " User : $VM_USER"
|
||||
echo " Port : $VM_PORT"
|
||||
echo " Key : $VM_KEY"
|
||||
echo "──────────────────────────────────"
|
||||
|
||||
# ── SSH with hardened options ──────────────────────────────────────────────
|
||||
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}@${HOST}"
|
||||
Loading…
Reference in New Issue
Block a user