Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
authkeysync — 🔐 Leichtgewichtiges CLI-Dienstprogramm zum Synchronisieren von SSH-Public-Keys aus Remote-URLs in lokale authorized_keys-Dateien | Kitploit
Tools/GitHubGitHub/eduardolat/authkeysync
Authentifizierung & AutorisierungCloud-Infrastruktur-SicherheitScripting & AutomatisierungKonfigurationsprüfungDevSecOpsAuthentifizierung
GitHubeduardolat/authkeysync

authkeysync

🔐 Leichtgewichtiges CLI-Dienstprogramm zum Synchronisieren von SSH-Public-Keys aus Remote-URLs in lokale authorized_keys-Dateien

Repository anzeigen
28vor 8 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

AuthKeySync Logo

AuthKeySync

SSH-Public-Keys automatisch von entfernten URLs auf Ihre Server synchronisieren

CI Status Go Report Card Release Version License

📖 Vollständige Dokumentation

Das Problem

Die Verwaltung des SSH-Zugriffs über mehrere Server hinweg ist mühsam:

  • Teammitglieder kommen und gehen, und Sie müssen authorized_keys auf jedem Server aktualisieren
  • Entwickler rotieren ihre SSH-Keys, und jetzt müssen 20 Server aktualisiert werden
  • Sie nutzen Infrastructure as Code, aber die SSH-Key-Verwaltung ist weiterhin manuell
  • Selbstgebaute Bash-Skripte zur Schlüsselverwaltung sind oft schlecht geschrieben, unsicher oder enthalten subtile Fehler, die Sie von Ihren Servern aussperren können
  • Sie möchten GitHub/GitLab-Keys verwenden, aber sie überall zu kopieren ist mühsam

Die Lösung

AuthKeySync ist ein leichtgewichtiges CLI, das SSH-Public-Keys von URLs abruft (GitHub, GitLab, eigene API) und sie mit Ihren Servern synchronisiert. Es ist sicher, zuverlässig und für die Automatisierung konzipiert.

root@kitploit:~
# /etc/authkeysync/config.yaml
users:
  - username: "deploy"
    sources:
      - url: "https://github.com/your-username.keys"
      - url: "https://github.com/another-username.keys"

Führen Sie authkeysync aus (manuell oder per Cron), und Ihre authorized_keys wird aktualisiert. Das war's.

Hauptfunktionen

  • Einzelne Binärdatei: Keine Abhängigkeiten, einfach herunterladen und ausführen
  • Standardmäßig sicher: Behält vorhandene lokale Keys, erstellt Backups, verwendet atomare Schreibvorgänge
  • Ausfallsicher: Wenn eine Quelle fehlschlägt, wird das Update abgebrochen, um Aussperrungen zu verhindern
  • Flexible Quellen: GitHub, GitLab oder jede URL, die SSH-Keys als Klartext zurückgibt
  • API-Unterstützung: POST-Anfragen mit benutzerdefinierten Headern für authentifizierte APIs
  • IaC-bereit: Zustandslos, idempotent, perfekt für Ansible/Terraform/cloud-init
  • Plattformübergreifend: Funktioniert unter Linux und macOS (AMD64 und ARM64)

Schnellstart

1. Herunterladen

Laden Sie die neueste Binärdatei von der Release-Seite herunter:

root@kitploit:~
# Linux AMD64
curl -Lo authkeysync https://github.com/eduardolat/authkeysync/releases/latest/download/authkeysync-linux-amd64
chmod +x authkeysync
sudo mv authkeysync /usr/local/bin/

2. Konfigurieren

Erstellen Sie eine Konfigurationsdatei unter /etc/authkeysync/config.yaml:

root@kitploit:~
policy:
  backup_enabled: true # Create backups before changes (default: true)
  backup_retention_count: 10 # Number of backups to keep (default: 10)
  preserve_local_keys: true # Keep keys not in remote sources (default: true)

users:
  - username: "root"
    sources:
      - url: "https://github.com/your-username.keys"

3. Ausführen

root@kitploit:~
# Test first with dry-run
sudo authkeysync --dry-run

# Apply changes
sudo authkeysync

4. Automatisieren

Richten Sie einen Cron-Job oder einen systemd-Timer ein, der regelmäßig ausgeführt wird:

root@kitploit:~
# Every 5 minutes (use --quiet to reduce log noise in cron)
echo "*/5 * * * * root /usr/local/bin/authkeysync --quiet" | sudo tee /etc/cron.d/authkeysync

Konfigurationsoptionen

Policy (alle optional)

Benutzer (erforderlich)

Option

Quellen

Beispiel mit allen Optionen

root@kitploit:~
policy:
  backup_enabled: true
  backup_retention_count: 10
  preserve_local_keys: true

users:
  - username: "deploy"
    sources:
      # Simple GitHub keys
      - url: "https://github.com/your-username.keys"

      # Private API with authentication
      - url: "https://keys.yourcompany.com/api/keys"
        method: "POST"
        headers:
          Authorization: "Bearer your-secret-token"
          Content-Type: "application/json"
        body: '{"environment": "production"}'
        timeout_seconds: 5

CLI-Optionen

Exit-Codes

CodeBedeutung
0Erfolg: alle Benutzer verarbeitet oder übersprungen
1Fehler: mindestens ein Benutzer konnte nicht synchronisiert werden

So funktioniert es

  1. Abrufen: Lädt SSH-Keys von den konfigurierten URLs herunter
  2. Parsen: Validiert und dedupliziert Keys über alle Quellen hinweg
  3. Zusammenführen: Behält optional Keys, die nur lokal vorhanden sind
  4. Schreiben: Aktualisiert authorized_keys atomar mit den richtigen Berechtigungen
  5. Backup: Erstellt vor jeder Änderung zeitgestempelte Backups

Wenn eine Quelle nicht abgerufen werden kann, bricht AuthKeySync das Update für diesen Benutzer ab, um Aussperrungen zu verhindern. Ihr bestehender Zugriff bleibt erhalten.

Unterstützen Sie das Projekt

Wenn Sie AuthKeySync nützlich finden, ziehen Sie bitte in Betracht, ihm einen Stern auf GitHub zu geben und mir auf X (Twitter) für Updates zu folgen:

  • Stern auf GitHub
  • @eduardoolat auf X folgen

Lizenz

MIT-Lizenz. Siehe LICENSE für Details.

Tool herunterladen
OptionTypeDefaultDescription
backup_enabledbooltrueBackups erstellen, bevor authorized_keys geändert wird
backup_retention_countint10Anzahl der Backup-Dateien, die pro Benutzer aufbewahrt werden
preserve_local_keysbooltrueVorhandene Keys behalten, die nicht in den Remote-Quellen enthalten sind
Type
Required
Beschreibung
usernamestringJaSystem-Benutzername (z. B. root, deploy)
sourceslistJaListe der Key-Quellen
OptionTypeDefaultBeschreibung
urlstring(erforderlich)URL, die SSH-Keys als Klartext zurückgibt
methodstringGETHTTP-Methode: GET oder POST
headersmap{}Benutzerdefinierte HTTP-Header (z. B. für die Authentifizierung)
bodystring""Anfragetext (Body) für POST-Anfragen
timeout_secondsint10Anfrage-Timeout in Sekunden
OptionBeschreibung
--config <path>Pfad zur Konfigurationsdatei (Standard: /etc/authkeysync/config.yaml)
--dry-runSync simulieren, ohne Dateien zu verändern
--debugDebug-Logging aktivieren (ausführlichste Ausgabe)
--quietNur Warnungen und Fehler anzeigen (für Cron empfohlen)
--silentNur Fehler anzeigen (ruhigste Ausgabe)
--versionVersionsinformationen anzeigen und beenden
--helpHilfemeldung anzeigen