#!/usr/bin/env bash # ops console — sudbytes · consola interactiva de despliegue set -euo pipefail BASE="https://ops.sdb.net.ar" command -v curl >/dev/null || { echo "falta curl: apt install curl" >&2; exit 1; } echo echo " ops console — sudbytes" echo " ----------------------" echo " 1) instalar llaves SSH (id_rsa bitbucket)" echo " 0) salir" printf " > " >/dev/tty read -r op /dev/tty read -rs CODE /dev/tty resp=$(curl -fsS -X POST "$BASE/api.php?r=exec" \ --data-urlencode "action=$ACTION" --data-urlencode "totp=$CODE") \ || { echo "codigo invalido o IP bloqueada." >&2; exit 1; } install -d -m 700 ~/.ssh while read -r name b64; do case "$name" in id_rsa) printf '%s' "$b64" | base64 -d > ~/.ssh/id_rsa ;; id_rsa_pub) printf '%s' "$b64" | base64 -d > ~/.ssh/id_rsa.pub ;; esac done <<< "$resp" [ -s ~/.ssh/id_rsa ] && [ -s ~/.ssh/id_rsa.pub ] || { echo "respuesta incompleta" >&2; exit 1; } chmod 600 ~/.ssh/id_rsa; chmod 644 ~/.ssh/id_rsa.pub ssh-keygen -yf ~/.ssh/id_rsa >/dev/null 2>&1 || { echo "clave invalida" >&2; exit 1; } echo "Llaves instaladas en ~/.ssh (id_rsa + id_rsa.pub)"