Files
zertifizierung/deploy-proxmox.sh
root d9e3356e9a Add intelligent system detection and Proxmox support
New features:
- detect-system.sh: Automatically detects target system type
  - Proxmox VE
  - pfSense
  - TrueNAS
  - UCS
  - Unknown/generic

- deploy-proxmox.sh: Automated Proxmox certificate deployment
  - Backs up existing certificates
  - Installs certificate to /etc/pve/local/pveproxy-ssl.*
  - Restarts pveproxy service
  - Fully automated deployment

- cert-manager.py enhancements:
  - Detects system type before proceeding
  - Uses system-specific deployment scripts when available
  - Shows detected system type in summary
  - Intelligent deployment based on system capabilities
  - Manual deployment instructions for unsupported systems
2025-10-23 08:28:23 +02:00

69 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# Deploy certificate to Proxmox host
# Usage: ./deploy-proxmox.sh <hostname> <cert-file> <key-file> <short-name>
set -e
TARGET_HOST="$1"
CERT_FILE="$2"
KEY_FILE="$3"
SHORT_NAME="$4"
if [ $# -lt 4 ]; then
echo "Usage: $0 <hostname> <cert-file> <key-file> <short-name>"
exit 1
fi
echo "=========================================="
echo "Proxmox Certificate Deployment"
echo "=========================================="
echo "Target: $TARGET_HOST"
echo "Certificate: $CERT_FILE"
echo "Key file: $KEY_FILE"
echo "=========================================="
echo ""
# Backup existing certificates
echo "[1/5] Backing up existing Proxmox certificates..."
ssh root@${TARGET_HOST} "cp /etc/pve/local/pveproxy-ssl.pem /etc/pve/local/pveproxy-ssl.pem.bak.$(date +%Y%m%d-%H%M%S) 2>/dev/null || true"
ssh root@${TARGET_HOST} "cp /etc/pve/local/pveproxy-ssl.key /etc/pve/local/pveproxy-ssl.key.bak.$(date +%Y%m%d-%H%M%S) 2>/dev/null || true"
# Copy certificate to target
echo "[2/5] Copying certificate to Proxmox..."
scp "$CERT_FILE" root@${TARGET_HOST}:/tmp/${SHORT_NAME}.crt
# Copy or retrieve key
echo "[3/5] Copying private key to Proxmox..."
if [ -f "$KEY_FILE" ]; then
scp "$KEY_FILE" root@${TARGET_HOST}:/tmp/${SHORT_NAME}.key
else
echo "Note: Key file should already be on target at /tmp/${SHORT_NAME}.key"
fi
# Install certificate
echo "[4/5] Installing certificate for Proxmox web interface..."
ssh root@${TARGET_HOST} "cat /tmp/${SHORT_NAME}.crt > /etc/pve/local/pveproxy-ssl.pem && \
cat /tmp/${SHORT_NAME}.key > /etc/pve/local/pveproxy-ssl.key && \
chmod 640 /etc/pve/local/pveproxy-ssl.pem && \
chmod 640 /etc/pve/local/pveproxy-ssl.key"
# Restart Proxmox web service
echo "[5/5] Restarting Proxmox web interface..."
ssh root@${TARGET_HOST} "systemctl restart pveproxy.service"
echo ""
echo "=========================================="
echo "✓ Proxmox certificate deployed!"
echo "=========================================="
echo ""
echo "Certificate installed at:"
echo " /etc/pve/local/pveproxy-ssl.pem"
echo " /etc/pve/local/pveproxy-ssl.key"
echo ""
echo "Backup created at:"
echo " /etc/pve/local/pveproxy-ssl.pem.bak.*"
echo " /etc/pve/local/pveproxy-ssl.key.bak.*"
echo ""
echo "Access Proxmox at: https://${TARGET_HOST}:8006"
echo "=========================================="