3.9 KiB
🔐 Crumbpage 18: Der Schlüsselmeister (SSH Agent)
Subtitle: Nie wieder Passwörter tippen ohne Sicherheit zu verlieren
Pfad: 18 von X
Schwierigkeit: ⭐⭐⭐ (3/5)
Zeit: ~1 Stunde
Voraussetzungen: SSH Keys, Workstation
"Ein guter Diener hält dir die Schlüssel bereit, aber gibt sie niemandem sonst." 🗝️
📋 Was du in diesem Pfad lernst
✓ Was macht der ssh-agent?
✓ ssh-add (Schlüssel hinzufügen)
✓ Agent Forwarding (Der magische Sprung)
✓ Keychain Integration (Mac/Linux)
✓ Die Gefahren von Forwarding
🎯 Lernziele
Nach diesem Pfad kannst du:
- Den
ssh-agentstarten und nutzen - Verstehen, warum dein Private Key dein Gerät nie verlassen sollte
- Durch einen Bastion-Host "durchspringen" (Agent Forwarding)
- Den Agent sicher beenden oder sperren
🗝️ Das Problem: Passphrases nerven
Du hast deine Keys (wie in Pfad 8 gelernt) mit einer Passphrase gesichert. Gut!
Aber jetzt musst du bei jedem git push oder ssh server das Passwort tippen.
Das nervt. Und was nervt, wird abgeschaltet (Passwörter entfernt). Böse! 🛑
Die Lösung: Der SSH Agent. Er ist ein kleiner Prozess im Hintergrund, der deine entschlüsselten Keys im RAM hält. Du tippst das Passwort einmal (beim Start oder ersten Nutzen), und der Agent erledigt den Rest für dich.
🛠️ Die Basics
1. Lebt der Agent?
$ env | grep SSH_AUTH_SOCK
# Wenn hier nichts kommt, läuft kein Agent.
2. Starten (Manuell)
$ eval "$(ssh-agent -s)"
Agent pid 12345
3. Schlüssel hinzufügen (ssh-add)
$ ssh-add ~/.ssh/id_ed25519
Enter passphrase for /home/bmt/.ssh/id_ed25519: *********
Identity added: /home/bmt/.ssh/id_ed25519 (bmt@workstation)
Ab jetzt fragt SSH nicht mehr nach dem Passwort, solange der Agent läuft!
4. Was ist geladen?
$ ssh-add -l
256 SHA256:abcd... bmt@workstation (ED25519)
5. Alles vergessen (Lockdown)
$ ssh-add -D
All identities removed.
🚀 Advanced: Agent Forwarding
Stell dir vor:
Workstation → Gateway-Server → Git-Server (GitHub)
Du bist auf dem Gateway und willst git clone machen.
Dein Key liegt aber auf der Workstation.
NIEMALS kopierst du deinen Private Key auf den Gateway Server!
Stattdessen erlaubst du dem Gateway, deinen Agent auf der Workstation zu "fragen".
Config (~/.ssh/config):
Host gateway
HostName gateway.crumbforest.de
ForwardAgent yes
Jetzt kannst du auf dem Gateway git clone machen, und die Authentifizierung "tunnelt" zurück zu deinem Laptop. Magie! ✨
⚠️ Die Gefahr (Security Warning)
Wenn du Forwarding aktivierst (-A oder ForwardAgent yes) und der Admin des Ziel-Servers böse ist (root), kann er deinen lokalen Agenten kapern, solange du verbunden bist.
Regel: Nutze Forwarding NUR zu Servern, denen du vertraust!
🍏 & 🐧 Komfort-Integration
macOS
Der Mac macht das automatisch via Keychain.
Config (~/.ssh/config):
Host *
UseKeychain yes
AddKeysToAgent yes
Linux (Gnome/Keyring)
Moderne Distros (Ubuntu, Debian mit Gnome/MATE) starten oft einen Keyring-Daemon, der sich wie ein SSH-Agent verhält.
Wenn du es "pur" willst (in .bashrc):
if [ -z "$SSH_AUTH_SOCK" ]; then
eval "$(ssh-agent -s)"
ssh-add
fi
🦉 Crystal Owl's Weisheit
"Der Schlüssel gehört dem Meister, nicht dem Torwächter."
Niemals Private Keys verteilen. Lass den Agenten die Arbeit machen. Und wenn du gehst, nimm die Schlüssel mit (ssh-add -D oder Logout).
Version: 1.0
Status: Draft
Tags: #SSH #Security #Agent #Workflow
Navigation:
← Zurück: Workstation | Weiter: Zero Trust Agent →