Entwickler & Administrator: Tobias Boyke
Status: 🚀 100% Dokumentiert & LPIC-1 Fokussiert
Kompatibilität:![]()
![]()
- 🔑 1. SSH-Agent: Private Keys im Arbeitsspeicher verwalten
- 🦘 2. Multi-Hop Verbindungen: SSH-Agent-Forwarding vs. ProxyJump
- 🔄 3. Rsync: Fortgeschrittene Synchronisation & Automatisierung
- 🔑 Keywords
- 🧠 LPIC-1 Relevanz & Wissenstest
- 🔗 Zurück zur Übersicht
Der ssh-agent ist ein Hintergrunddienst (Daemon), der private SSH-Schlüssel entschlüsselt im RAM vorhält. Dadurch entfällt die wiederholte Eingabe der Passphrase bei Verbindungen zu Servern.
- Sicherer Arbeitsspeicher: Private Schlüssel liegen nicht permanent unverschlüsselt auf dem Speichermedium, sondern werden verschlüsselt abgelegt und durch den
ssh-agentnur im RAM der laufenden Benutzersitzung temporär entschlüsselt gehalten. - Passwortfreies Arbeiten: Der SSH-Agent übernimmt die kryptografische Signierung von Anfragen des SSH-Clients automatisch im Hintergrund.
- Schutz vor Diebstahl: Wenn Sie Ihren PC verlassen, können Sie den Agenten leeren, sodass Unbefugte keinen Zugriff auf die Remote-Systeme erlangen.
# Starten des SSH-Agenten für die aktuelle Shell-Session
eval $(ssh-agent -s)
# Prüfen, welche Schlüssel derzeit im Agenten geladen sind
ssh-add -l
# Einen bestimmten privaten Schlüssel zum Agenten hinzufügen (Passphrase wird einmalig abgefragt)
ssh-add ~/.ssh/id_ed25519
# Alle geladenen Schlüssel aus dem Agenten löschen (z.B. beim Verlassen des Arbeitsplatzes)
ssh-add -DWenn ein Zielsystem nur über einen dazwischengeschalteten Server (Jump-Host oder Bastion-Host) erreichbar ist, muss der SSH-Schlüssel zur Authentifizierung verwendet werden. Hierfür gibt es zwei Verfahren.
Beim Agent-Forwarding (ssh -A) wird der Zugriff auf den lokalen SSH-Agenten an den Jump-Host durchgereicht.
- Ablauf:
ssh -A benutzer@jump-host->ssh benutzer@ziel-host
Warning
Sicherheitsrisiko: Besitzt ein Angreifer Root-Rechte auf dem Jump-Host, kann er das weitergeleitete Socket des SSH-Agenten unter /tmp/ssh-* entführen und die Identität des Clients annehmen, um sich auf nachgelagerte Systeme zu verbinden.
ProxyJump ist die moderne, sichere Alternative (ab OpenSSH 7.3).
- Ablauf: Der lokale Client baut einen verschlüsselten SSH-Kanal durch den Jump-Host direkt zum Ziel-Host auf (Ende-zu-Ende-Verschlüsselung).
- Der Jump-Host sieht nur verschlüsselten SSH-Traffic und hat zu keinem Zeitpunkt Zugriff auf den SSH-Agenten oder die Private Keys.
Für eine transparente Nutzung konfigurieren Sie Ihre lokale SSH-Client-Konfiguration in ~/.ssh/config:
# Jump-Host definieren
Host srv-rocky
HostName 172.16.7.33
User simus
IdentityFile ~/.ssh/id_ed25519
# Zielsystem über den Jump-Host konfigurieren
Host srv-deb-02
HostName 172.16.7.65
User semus
IdentityFile ~/.ssh/id_ed25519
ProxyJump srv-rocky
Damit genügt folgendes Kommando, um sich direkt und sicher über den Jump-Host zu verbinden:
ssh srv-deb-02rsync (Remote Synchronization) ist ein robustes Werkzeug zur inkrementellen Synchronisation von Dateien und Ordnern.
-a(Archive): Erhält Berechtigungen, Eigentümer, Gruppen, Symlinks und Zeitstempel. Kopiert rekursiv.-v(Verbose): Ausführliche Protokollierung.-P(Progress / Partial): Zeigt den Fortschrittsbalken und erlaubt die Wiederaufnahme abgebrochener Übertragungen.-z(Compress): Komprimiert die Daten während der Übertragung (sehr nützlich über das Netzwerk).--delete: Erstellt ein echtes Spiegelbild (löscht Dateien im Ziel, die in der Quelle nicht mehr existieren).--dry-run: Simuliert den Befehl, um fatale Überschreibungen oder Löschungen zu verhindern.
Caution
Ein abschließender Schrägstrich / an der Quelle synchronisiert den Inhalt des Verzeichnisses. Fehlt der /, wird das Verzeichnis selbst kopiert.
rsync -a /src /dest-> Erzeugt/dest/src/rsync -a /src/ /dest-> Kopiert Inhalt direkt in/dest/
# PUSH (Lokale Dokumente auf Remote-Server sichern)
rsync -avzP --delete /home/semus/Dokumente/ semus@172.16.7.33:~/backup/
# PULL (Remote-Dokumente auf lokalen Client herunterladen)
rsync -avzP --delete semus@172.16.7.33:~/backup/ /home/semus/Dokumente/Um ein Backup jede Nacht um 01:00 Uhr automatisch auszuführen, wird ein Cronjob angelegt:
# crontab -e
0 1 * * * rsync -az --delete /home/semus/Dokumente/ semus@172.16.7.33:~/backup/Für Szenarien, in denen Dateien sofort nach dem Speichern synchronisiert werden müssen (z.B. Load-Balancer-Cluster), verwendet man lsyncd (Live Syncing Daemon). Es lauscht über das Linux-Kernel-Feature inotify auf Dateisystem-Events und stößt im Hintergrund rsync-Prozesse an.
sudo apt update
sudo apt install lsyncd -yErstellen Sie das Verzeichnis und die Konfigurationsdatei in Lua:
sudo mkdir -p /etc/lsyncd
sudo nano /etc/lsyncd/lsyncd.conf.luaInhalt der Konfiguration:
settings {
nodaemon = false,
statusFile = "/var/log/lsyncd/lsyncd.status",
logfile = "/var/log/lsyncd/lsyncd.log",
statusInterval = 10
}
sync {
default.rsyncssh,
source = "/home/semus/Documents/",
host = "semus@172.16.7.65",
targetdir = "/home/semus/backup/",
rsync = {
archive = true,
compress = true,
_extra = { "--delete" }
},
delay = 2
}sudo systemctl enable --now lsyncd
sudo systemctl status lsyncd| Keyword / Befehl | Erklärung |
|---|---|
ssh-agent |
Hintergrunddienst, der SSH-Schlüssel entschlüsselt im RAM hält, um Passphrase-Eingaben zu vermeiden. |
ssh-add |
Fügt einen privaten SSH-Schlüssel dem laufenden ssh-agent hinzu. |
ProxyJump |
SSH-Verbindungsoption zum Tunneln über ein transitives System (Jump Host) in geschützte Netze. |
lsyncd |
Live Syncing Daemon: Überwacht Verzeichnisse und synchronisiert sie bei Änderungen sofort via rsync. |
inotifywait |
Kernel-basiertes Tool zur Überwachung von Dateisystem-Ereignissen (Erstellung, Löschung, Änderung). |
Fragen zu SSH-Agent, ProxyJump & Rsync (Klicken zum Ausklappen)
-
Welches Signal sendet das Kommando
ssh-add -Dan den SSH-Agenten?Antwort
Es weist den SSH-Agenten an, alle geladenen privaten Schlüssel unwiderruflich aus dem Arbeitsspeicher (RAM) zu entfernen. -
Warum ist ProxyJump dem Agent Forwarding aus Sicherheitsperspektive vorzuziehen?
Antwort
Weil beim Agent-Forwarding der private Schlüssel über das weitergeleitete Socket des SSH-Agenten auf dem Jump-Host kompromittiert werden kann, falls dort ein Angreifer Root-Rechte hat. ProxyJump stellt eine Ende-zu-Ende verschlüsselte Verbindung her, bei der der Jump-Host nur verschlüsselte Pakete durchleitet. -
Welche Konfigurationsanweisung in der Datei
~/.ssh/configschaltet den ProxyJump für einen Zielhosttargetüber den Serverjumpaktiv?Antwort
Die OptionProxyJump jumpinnerhalb des Host-Blocks vontarget. -
Welches Kernel-Subsystem nutzt
lsyncdunter Linux, um Dateiänderungen ohne permanentes Filesystem-Polling zu detektieren?Antwort
Dasinotify-Framework des Linux-Kernels. -
Mit welcher Option führt man eine risikofreie Simulation eines Rsync-Kommandos durch?
Antwort
Mit der Option--dry-run.
Im Assets-Verzeichnis finden Sie weiterführende Informationen:
- SSH-Agent & Multi-Hop Guide (PDF)
- ProxyJump & SSH-Agents Setup (TXT)
- Rsync & Lsyncd Synchronisation (PDF)
- Syslog & Systemd Logging Basics (PDF)
- Mint Terminal-Historie (TXT)
- Tag 21 (Kryptographie, SSH & Rsync): ⬅️ Tag 21
- Tag 23 (Paketverwaltung & VM-Gast): ➡️ Tag 23
- Master-Repository: 🌌 Zurück zum Master-Repository
Erstellt & gepflegt von Tobias Boyke, Juni 2026.
