Add complete Crumbforest mission system
- Interactive mission selector with metadata-driven design - 5 educational missions (basics + advanced) - AI assistant roles (Deepbit, Bugsy, Schnippsi, Tobi) - SnakeCam gesture recognition system - Token tracking utilities - CLAUDE.md documentation - .gitignore for logs and secrets
This commit is contained in:
72
missions/advanced/ssh_security.sh
Executable file
72
missions/advanced/ssh_security.sh
Executable file
@@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 🔐 SSH Security Basics
|
||||
# Lehrt: SSH-Verbindungen, Keys, Agent
|
||||
|
||||
cat << 'EOF'
|
||||
|
||||
🔐 SSH Security Basics
|
||||
|
||||
Lass uns sichere Verbindungen zu anderen Maschinen aufbauen!
|
||||
SSH (Secure Shell) ist DAS Tool für Remote-Administration.
|
||||
|
||||
EOF
|
||||
|
||||
echo "🎓 Lektion 1: SSH Key-Paare verstehen"
|
||||
echo ""
|
||||
echo "Ein SSH-Key besteht aus zwei Teilen:"
|
||||
echo " 🔑 Private Key (geheim, nur bei dir!)"
|
||||
echo " 🗝️ Public Key (darf geteilt werden)"
|
||||
echo ""
|
||||
|
||||
echo "📂 Typische SSH-Struktur:"
|
||||
ls -lh ~/.ssh/ 2>/dev/null || echo "⚠️ Noch kein ~/.ssh/ Verzeichnis vorhanden"
|
||||
echo ""
|
||||
|
||||
echo "🎓 Lektion 2: SSH-Agent prüfen"
|
||||
echo ""
|
||||
echo "Der SSH-Agent verwaltet deine Keys im Speicher."
|
||||
echo " Befehl: ssh-add -l"
|
||||
echo ""
|
||||
read -p "Drücke Enter zum Ausführen..." -r
|
||||
ssh-add -l 2>/dev/null || echo "⚠️ Kein SSH-Agent läuft oder keine Keys geladen"
|
||||
|
||||
echo ""
|
||||
echo "🎓 Lektion 3: Neue SSH-Verbindung (Simulation)"
|
||||
echo ""
|
||||
echo "Syntax: ssh user@hostname"
|
||||
echo "Beispiel: ssh pi@raspberrypi.local"
|
||||
echo ""
|
||||
echo "💡 Nützliche SSH-Optionen:"
|
||||
echo " - ssh -v user@host (verbose, zeigt Debug-Info)"
|
||||
echo " - ssh -p 2222 user@host (non-standard Port)"
|
||||
echo " - ssh -i key.pem user@host (nutze spezifischen Key)"
|
||||
echo ""
|
||||
|
||||
echo "🎓 Lektion 4: SSH Config verstehen"
|
||||
echo ""
|
||||
if [[ -f ~/.ssh/config ]]; then
|
||||
echo "✅ Du hast eine SSH-Config:"
|
||||
head -n 10 ~/.ssh/config 2>/dev/null
|
||||
else
|
||||
echo "⚠️ Keine ~/.ssh/config vorhanden"
|
||||
echo ""
|
||||
echo "Beispiel-Config:"
|
||||
cat << 'CONFIGEOF'
|
||||
Host raspi
|
||||
HostName raspberrypi.local
|
||||
User pi
|
||||
Port 22
|
||||
IdentityFile ~/.ssh/raspi_key
|
||||
CONFIGEOF
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "💡 Wichtige Sicherheits-Tipps:"
|
||||
echo " 1. Nutze SSH-Keys statt Passwörter"
|
||||
echo " 2. Schütze deinen Private Key (chmod 600)"
|
||||
echo " 3. Aktiviere SSH-Agent-Forwarding nur wenn nötig"
|
||||
echo " 4. Überprüfe Fingerprints bei neuen Hosts"
|
||||
echo ""
|
||||
|
||||
echo "✅ Mission abgeschlossen! Du bist jetzt SSH-sicherer! 🔐"
|
||||
Reference in New Issue
Block a user