Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
authkeysync — 🔐 Utilitaire CLI léger conçu pour synchroniser les clés publiques SSH depuis des URLs distantes vers les fichiers authorized_keys locaux | Kitploit
Outils/GitHubGitHub/eduardolat/authkeysync
Authentification et AutorisationSécurité de l'Infrastructure CloudScripting et AutomatisationAudit de ConfigurationDevSecOpsAuthentification
GitHubeduardolat/authkeysync

authkeysync

🔐 Utilitaire CLI léger conçu pour synchroniser les clés publiques SSH depuis des URLs distantes vers les fichiers authorized_keys locaux

Voir le dépôt
28il y a 8 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Logo AuthKeySync

AuthKeySync

Synchronisez automatiquement les clés publiques SSH depuis des URLs distantes vers vos serveurs

Statut CI Rapport Go Version de publication Licence

📖 Documentation complète

Le problème

Gérer l'accès SSH sur plusieurs serveurs est pénible :

  • Les membres de l'équipe arrivent ou partent, et vous devez mettre à jour authorized_keys sur chaque serveur
  • Les développeurs changent leurs clés SSH, et vous avez maintenant 20 serveurs à mettre à jour
  • Vous utilisez l'Infrastructure as Code, mais la gestion des clés SSH reste manuelle
  • Les scripts bash maison pour la gestion des clés sont souvent mal écrits, peu sécurisés, ou contiennent des bugs subtils qui peuvent vous bloquer l'accès à vos serveurs
  • Vous voulez utiliser les clés GitHub/GitLab, mais les copier partout est fastidieux

La solution

AuthKeySync est un CLI léger qui récupère les clés publiques SSH depuis des URLs (GitHub, GitLab, votre propre API) et les synchronise sur vos serveurs. Il est sûr, fiable et conçu pour l'automatisation.

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

Exécutez authkeysync (manuellement ou via cron), et votre authorized_keys est mise à jour. C'est tout.

Fonctionnalités principales

  • Binaire unique : Aucune dépendance, téléchargez et exécutez
  • Sûr par défaut : Préserve les clés locales existantes, crée des sauvegardes, utilise des écritures atomiques
  • Sécurisé : Si une source échoue, la mise à jour est annulée pour éviter les blocages
  • Sources flexibles : GitHub, GitLab, ou toute URL renvoyant des clés SSH en texte brut
  • Support API : Requêtes POST avec en-têtes personnalisées pour les API authentifiées
  • Prêt pour l'IaC : Sans état, idempotent, parfait pour Ansible/Terraform/cloud-init
  • Multi-plateforme : Fonctionne sur Linux et macOS (AMD64 et ARM64)

Démarrage rapide

1. Téléchargement

Obtenez le dernier binaire depuis la page des versions :

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. Configuration

Créez un fichier de configuration dans /etc/authkeysync/config.yaml :

root@kitploit:~
policy:
  backup_enabled: true # Crée des sauvegardes avant les modifications (défaut : true)
  backup_retention_count: 10 # Nombre de sauvegardes à conserver (défaut : 10)
  preserve_local_keys: true # Conserve les clés absentes des sources distantes (défaut : true)

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

3. Exécution

root@kitploit:~
# Testez d'abord en mode dry-run
sudo authkeysync --dry-run

# Appliquez les modifications
sudo authkeysync

4. Automatisation

Configurez une tâche cron ou un timer systemd pour une exécution périodique :

root@kitploit:~
# Toutes les 5 minutes (utilisez --quiet pour réduire le bruit dans les logs cron)
echo "*/5 * * * * root /usr/local/bin/authkeysync --quiet" | sudo tee /etc/cron.d/authkeysync

Options de configuration

Politique (toutes optionnelles)

Utilisateurs (obligatoire)

Option

Sources

Exemple avec toutes les options

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

users:
  - username: "deploy"
    sources:
      # Clés GitHub simples
      - url: "https://github.com/your-username.keys"

      # API privée avec authentification
      - 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

Options CLI

Codes de sortie

CodeSignification
0Succès : tous les utilisateurs traités ou ignorés
1Échec : au moins un utilisateur n'a pas pu être synchronisé

Fonctionnement

  1. Récupération : Télécharge les clés SSH depuis les URLs configurées
  2. Analyse : Valide et déduplique les clés de toutes les sources
  3. Fusion : Conserve optionnellement les clés qui n'existent que localement
  4. Écriture : Met à jour atomiquement authorized_keys avec les permissions appropriées
  5. Sauvegarde : Crée des sauvegardes horodatées avant toute modification

Si une source échoue à la récupération, AuthKeySync annule la mise à jour pour cet utilisateur afin d'éviter les blocages. Votre accès existant reste intact.

Soutenir le projet

Si vous trouvez AuthKeySync utile, n'hésitez pas à lui donner une étoile sur GitHub et à me suivre sur X (Twitter) pour les mises à jour :

  • Donnez une étoile sur GitHub
  • Suivez @eduardoolat sur X

Licence

Licence MIT. Voir LICENSE pour les détails.

Télécharger l’outil
OptionTypeDéfautDescription
backup_enabledbooltrueCrée des sauvegardes avant de modifier authorized_keys
backup_retention_countint10Nombre de fichiers de sauvegarde à conserver par utilisateur
preserve_local_keysbooltrueConserve les clés existantes absentes des sources distantes
Type
Requis
Description
usernamestringOuiNom d'utilisateur système (ex. root, deploy)
sourceslistOuiListe des sources de clés
OptionTypeDéfautDescription
urlstring(requis)URL qui renvoie des clés SSH en texte brut
methodstringGETMéthode HTTP : GET ou POST
headersmap{}En-têtes HTTP personnalisées (ex. pour l'authentification)
bodystring""Corps de la requête pour les requêtes POST
timeout_secondsint10Délai d'attente de la requête en secondes
OptionDescription
--config <path>Chemin vers le fichier de configuration (défaut : /etc/authkeysync/config.yaml)
--dry-runSimule la synchronisation sans modifier aucun fichier
--debugActive les logs de débogage (le plus verbeux)
--quietAffiche uniquement les avertissements et erreurs (recommandé pour cron)
--silentAffiche uniquement les erreurs (le plus silencieux)
--versionAffiche les informations de version et quitte
--helpAffiche le message d'aide