Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
authkeysync — 🔐 Utilità CLI leggera progettata per sincronizzare le chiavi pubbliche SSH da URL remoti nei file authorized_keys locali | Kitploit
Strumenti/GitHubGitHub/eduardolat/authkeysync
Autenticazione e AutorizzazioneSicurezza dell'Infrastruttura CloudScripting e AutomazioneAudit di ConfigurazioneDevSecOpsAutenticazione
GitHubeduardolat/authkeysync

authkeysync

🔐 Utilità CLI leggera progettata per sincronizzare le chiavi pubbliche SSH da URL remoti nei file authorized_keys locali

Vedi Repository
281510 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

AuthKeySync Logo

AuthKeySync

Sincronizza automaticamente le chiavi pubbliche SSH da URL remote ai tuoi server

CI Status Go Report Card Release Version License

📖 Documentazione Completa

Il Problema

Gestire l'accesso SSH su più server è doloroso:

  • I membri del team entrano o escono e devi aggiornare authorized_keys su ogni server
  • Gli sviluppatori ruotano le loro chiavi SSH e ora hai 20 server da aggiornare
  • Stai usando Infrastructure as Code, ma la gestione delle chiavi SSH è ancora manuale
  • Script bash fatti in casa per la gestione delle chiavi sono spesso scritti male, insicuri o hanno bug sottili che possono bloccarti l'accesso ai server
  • Vuoi usare le chiavi di GitHub/GitLab, ma copiarle ovunque è noioso

La Soluzione

AuthKeySync è un CLI leggero che recupera le chiavi pubbliche SSH da URL (GitHub, GitLab, la tua API) e le sincronizza sui tuoi server. È sicuro, affidabile e progettato per l'automazione.

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

Esegui authkeysync (manualmente o tramite cron) e il tuo authorized_keys viene aggiornato. Tutto qui.

Caratteristiche Principali

  • Singolo binario: Nessuna dipendenza, basta scaricarlo ed eseguirlo
  • Sicuro per impostazione predefinita: Preserva le chiavi locali esistenti, crea backup, usa scritture atomiche
  • Fail-safe: Se una sorgente fallisce, l'aggiornamento viene interrotto per prevenire blocchi
  • Sorgenti flessibili: GitHub, GitLab o qualsiasi URL che restituisca chiavi SSH in testo semplice
  • Supporto API: Richieste POST con intestazioni personalizzate per API autenticate
  • Pronto per IaC: Stateless, idempotente, perfetto per Ansible/Terraform/cloud-init
  • Multi-piattaforma: Funziona su Linux e macOS (AMD64 e ARM64)

Inizio Rapido

1. Scarica

Ottieni l'ultimo binario dalla pagina delle release:

# 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. Configura

Crea un file di configurazione in /etc/authkeysync/config.yaml:

policy:
  backup_enabled: true # Crea backup prima delle modifiche (default: true)
  backup_retention_count: 10 # Numero di backup da conservare (default: 10)
  preserve_local_keys: true # Mantieni le chiavi non presenti nelle sorgenti remote (default: true)

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

3. Esegui

# Prima testa con dry-run
sudo authkeysync --dry-run

# Applica le modifiche
sudo authkeysync

4. Automatizza

Imposta un cron job o un timer systemd per eseguirlo periodicamente:

# Ogni 5 minuti (usa --quiet per ridurre il rumore nei log di cron)
echo "*/5 * * * * root /usr/local/bin/authkeysync --quiet" | sudo tee /etc/cron.d/authkeysync

Opzioni di Configurazione

Policy (tutte opzionali)

OpzioneTipoDefaultDescrizione
backup_enabledbooltrueCrea backup prima di modificare authorized_keys
backup_retention_countint10Numero di file di backup da conservare per utente
preserve_local_keysbooltrueMantieni le chiavi esistenti non presenti in sorgenti remote

Utenti (richiesti)

OpzioneTipoRichiestoDescrizione
usernamestringSìNome utente del sistema (es. root, deploy)
sourceslistSìElenco delle sorgenti di chiavi

Sorgenti

OpzioneTipoDefaultDescrizione
urlstring(richiesto)URL che restituisce chiavi SSH in testo semplice
methodstringGETMetodo HTTP: GET o POST
headersmap{}Intestazioni HTTP personalizzate (es. per autenticazione)
bodystring""Corpo della richiesta per richieste POST
timeout_secondsint10Timeout della richiesta in secondi

Esempio con tutte le opzioni

policy:
  backup_enabled: true
  backup_retention_count: 10
  preserve_local_keys: true

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

      # API privata con autenticazione
      - 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

Opzioni CLI

OpzioneDescrizione
--config <path>Percorso del file di configurazione (default: /etc/authkeysync/config.yaml)
--dry-runSimula la sincronizzazione senza modificare alcun file
--debugAbilita la registrazione debug (più verbosa)
--quietMostra solo avvisi ed errori (consigliato per cron)
--silentMostra solo errori (più silenzioso)
--versionMostra le informazioni sulla versione ed esci
--helpMostra il messaggio di aiuto

Codici di Uscita

CodiceSignificato
0Successo: tutti gli utenti elaborati o saltati
1Fallimento: almeno un utente non sincronizzato

Come Funziona

Scarica lo strumento