feat: Grid Expansion (Batch 4), Security Hardening, and ADN Optimization

This commit is contained in:
Ricardo Monla
2026-02-16 23:27:22 -03:00
parent 0d05dac8f7
commit 07a5bbb6c9
17 changed files with 438 additions and 40 deletions
+61
View File
@@ -0,0 +1,61 @@
#!/bin/bash
# Script: alta_nodo.sh
# Uso: ./scripts/alta_nodo.sh <IP> <HOSTNAME> [USUARIO]
# Descripción: Automatiza la configuración SSH local y el despliegue de claves al nuevo nodo.
IP=$1
NAME=$2
USER_SSH=${3:-rmonla} # Por defecto usa 'rmonla' si no se especifica
# Validar argumentos básicos
if [ -z "$IP" ] || [ -z "$NAME" ]; then
echo "❌ Error: Faltan argumentos."
echo "Uso correcto: ./scripts/alta_nodo.sh <IP> <HOSTNAME> [USUARIO]"
echo "Ejemplo: ./scripts/alta_nodo.sh 10.0.10.205 srv-pmox4 rmonla"
exit 1
fi
echo "--- Iniciando Alta de Nodo: $NAME ($IP) con Usuario: $USER_SSH ---"
# 1. Configurar SSH local (~/.ssh/config)
if grep -q "^Host $NAME$" ~/.ssh/config; then
echo "️ Host '$NAME' ya existe en ~/.ssh/config (Se asume configuración correcta)."
else
echo "🔧 Agregando '$NAME' a ~/.ssh/config..."
cat >> ~/.ssh/config <<EOF
Host $NAME
HostName $IP
User $USER_SSH
StrictHostKeyChecking no
EOF
fi
# 2. Verificar Conectividad
echo "📡 Verificando conexión (Ping)..."
ping -c 2 $IP > /dev/null
if [ $? -ne 0 ]; then
echo "⚠️ Alerta: No hay ping a $IP. Verifica la red."
else
echo "✅ Ping exitoso."
fi
# 3. Intentar instalación automática de clave (ssh-copy-id)
echo "🔑 Intentando instalar clave SSH automáticamente en $USER_SSH@$IP..."
ssh-copy-id -o ConnectTimeout=5 -i ~/.ssh/id_rsa.pub $USER_SSH@$IP 2>/dev/null
if [ $? -eq 0 ]; then
echo "✅ Clave instalada exitosamente via ssh-copy-id."
echo "🚀 Probando conexión SSH..."
ssh -o ConnectTimeout=5 $NAME "uptime"
else
echo "⚠️ No se pudo copiar la clave automáticamente."
echo "Probablemente necesites ingresar la contraseña de '$USER_SSH' si te la pide."
echo ""
echo "📋 SI FALLA, EJECUTA ESTO MANUALMENTE EN LA TERMINAL DEL NODO ($IP) con tu usuario:"
echo "-----------------------------------------------------------"
# Generamos el comando dinámicamente con la clave actual
PUBKEY=$(cat ~/.ssh/id_rsa.pub)
echo "mkdir -p ~/.ssh && echo \"$PUBKEY\" >> ~/.ssh/authorized_keys"
echo "-----------------------------------------------------------"
fi