#!/bin/bash # Test Production Server Connectivity set -e SERVER="94.16.110.151" USER="deploy" SSH_KEY="~/.ssh/production" echo "🔧 Production Server Connectivity Test" echo "========================================" echo "Server: $SERVER" echo "User: $USER" echo "SSH-Key: $SSH_KEY" echo "" # 1. SSH Key Test echo "1️⃣ SSH-Key Test..." if ssh-keygen -l -f $SSH_KEY.pub &>/dev/null; then echo "✅ SSH-Key ist gültig" ssh-keygen -l -f $SSH_KEY.pub else echo "❌ SSH-Key Problem" exit 1 fi echo "" # 2. SSH Connectivity Test echo "2️⃣ SSH Connectivity Test..." if ssh -i $SSH_KEY -o ConnectTimeout=10 -o StrictHostKeyChecking=no $USER@$SERVER 'echo "SSH Connection successful"' 2>/dev/null; then echo "✅ SSH Connection erfolgreich" else echo "❌ SSH Connection fehlgeschlagen" echo "Möglicherweise ist der Server noch nicht bereit oder SSH-Key nicht konfiguriert" exit 1 fi echo "" # 3. System Info echo "3️⃣ Server System Information..." ssh -i $SSH_KEY $USER@$SERVER 'echo "Hostname: $(hostname)" && echo "OS: $(cat /etc/os-release | grep PRETTY_NAME)" && echo "Kernel: $(uname -r)" && echo "Uptime: $(uptime -p)" && echo "Available space: $(df -h / | tail -1 | awk "{print \$4}")"' echo "" # 4. Docker Readiness Check echo "4️⃣ Docker Readiness Check..." if ssh -i $SSH_KEY $USER@$SERVER 'which docker &>/dev/null && which docker-compose &>/dev/null'; then echo "✅ Docker bereits installiert" ssh -i $SSH_KEY $USER@$SERVER 'docker --version && docker-compose --version' else echo "⚠️ Docker noch nicht installiert (wird durch Ansible installiert)" fi echo "" # 5. Ansible Ping Test echo "5️⃣ Ansible Ping Test..." cd "$(dirname "$0")" if ansible netcup-server -i inventory/hosts.yml -m ping; then echo "✅ Ansible Ping erfolgreich" else echo "❌ Ansible Ping fehlgeschlagen" exit 1 fi echo "" # 6. Ansible Gather Facts echo "6️⃣ Ansible System Facts..." ansible netcup-server -i inventory/hosts.yml -m setup -a "filter=ansible_distribution*" | grep -A 10 '"ansible_distribution"' echo "" echo "🎉 Connectivity Test erfolgreich abgeschlossen!" echo "" echo "Nächste Schritte:" echo "1. Deployment-Playbook ausführen: ansible-playbook -i inventory/hosts.yml deploy.yml" echo "2. SSL-Zertifikate konfigurieren" echo "3. Monitoring einrichten"