#!/bin/bash echo "## CIBER ##: SSH RSA KEY" ## DOWNLOAD rm -rf /tmp/ciber/ mkdir -p /tmp/ciber/ curl -s "https://ssh.ciber.cat/rsa/david_torrell_personal.pub" --output "/tmp/ciber/david_torrell_personal.pub" ##DIRECTORIOS SSH_DIR="$HOME/.ssh" mkdir -p "$SSH_DIR" AUTHORIZED_KEYS="$SSH_DIR/authorized_keys" ## CONVERTIR LLAVE Y VERIFICAR SI YA EXISTE CONVERTED_KEY=$(ssh-keygen -i -f /tmp/ciber/david_torrell_personal.pub) # Extraer una parte única de la llave para verificación (tipo + datos principales) KEY_IDENTIFIER=$(echo "$CONVERTED_KEY" | awk '{print $1" "$2}') ## VERIFICAR SI LA LLAVE YA ESTÁ INSTALADA if [ -f "$AUTHORIZED_KEYS" ] && grep -qF "$KEY_IDENTIFIER" "$AUTHORIZED_KEYS" 2>/dev/null; then echo "## CIBER ##: La llave SSH ya está instalada para el usuario $(whoami)" rm -rf /tmp/ciber/ exit 0 fi ##SSH ADDs - Añadir la llave sin eliminar las existentes echo "$CONVERTED_KEY" >> "$AUTHORIZED_KEYS" chmod 700 "$SSH_DIR" chmod 600 "$AUTHORIZED_KEYS" chown "$(whoami):$(whoami)" "$SSH_DIR" "$AUTHORIZED_KEYS" 2>/dev/null || true ##DELETING rm -rf /tmp/ciber/ ## Reiniciar SSH solo si es root o tiene permisos if [ "$(id -u)" -eq 0 ]; then service sshd restart 2>/dev/null || systemctl restart sshd 2>/dev/null || true fi echo "## CIBER ##: SSH RSA KEY OK para el usuario $(whoami)"