Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
2815vor 10 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.

# /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:

# 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:

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

# 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:

# 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)

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

Benutzer (erforderlich)

OptionTypeRequiredBeschreibung
usernamestringJaSystem-Benutzername (z. B. root, deploy)
sourceslistJaListe der Key-Quellen

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

Beispiel mit allen Optionen

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

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

Exit-Codes

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

So funktioniert es

Tool herunterladen