Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
authkeysync — 🔐 Utilitário CLI leve projetado para sincronizar chaves públicas SSH de URLs remotas para arquivos authorized_keys locais | Kitploit
Ferramentas/GitHubGitHub/eduardolat/authkeysync
Autenticação e AutorizaçãoSegurança de Infraestrutura em NuvemScripting e AutomaçãoAuditoria de ConfiguraçãoDevSecOpsAutenticação
GitHubeduardolat/authkeysync

authkeysync

🔐 Utilitário CLI leve projetado para sincronizar chaves públicas SSH de URLs remotas para arquivos authorized_keys locais

Ver Repositório
28há 8 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

AuthKeySync Logo

AuthKeySync

Sincronizar automaticamente chaves públicas SSH de URLs remotas para seus servidores

CI Status Go Report Card Release Version License

📖 Documentação Completa

O Problema

Gerenciar acesso SSH em vários servidores é complicado:

  • Membros da equipe entram ou saem, e você precisa atualizar authorized_keys em todos os servidores
  • Desenvolvedores trocam suas chaves SSH, e agora você tem 20 servidores para atualizar
  • Você está usando Infraestrutura como Código, mas o gerenciamento de chaves SSH ainda é manual
  • Scripts bash caseiros para gerenciamento de chaves são frequentemente mal escritos, inseguros ou têm bugs sutis que podem bloquear seu acesso aos servidores
  • Você quer usar chaves do GitHub/GitLab, mas copiá-las para todos os lugares é tedioso

A Solução

AuthKeySync é um CLI leve que busca chaves públicas SSH de URLs (GitHub, GitLab, sua própria API) e as sincroniza com seus servidores. É seguro, confiável e projetado para automação.

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

Execute authkeysync (manualmente ou via cron), e seu authorized_keys é atualizado. Simples assim.

Principais Recursos

  • Binário único: Sem dependências, basta baixar e executar
  • Seguro por padrão: Preserva chaves locais existentes, cria backups, usa gravações atômicas
  • À prova de falhas: Se qualquer fonte falhar, a atualização é abortada para evitar bloqueios
  • Fontes flexíveis: GitHub, GitLab ou qualquer URL que retorne chaves SSH em texto puro
  • Suporte a API: Requisições POST com cabeçalhos personalizados para APIs autenticadas
  • Pronto para IaC: Sem estado, idempotente, perfeito para Ansible/Terraform/cloud-init
  • Multiplataforma: Funciona em Linux e macOS (AMD64 e ARM64)

Início Rápido

1. Baixar

Obtenha o binário mais recente na página de releases:

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

Crie um arquivo de configuração em /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. Executar

root@kitploit:~
# Teste primeiro com dry-run
sudo authkeysync --dry-run

# Aplique as alterações
sudo authkeysync

4. Automatizar

Configure um cron job ou timer systemd para execução periódica:

root@kitploit:~
# A cada 5 minutos (use --quiet para reduzir ruído no log do cron)
echo "*/5 * * * * root /usr/local/bin/authkeysync --quiet" | sudo tee /etc/cron.d/authkeysync

Opções de Configuração

Política (todas opcionais)

Usuários (obrigatório)

Option

Fontes

Exemplo com todas as opções

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

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

      # API privada com autenticação
      - 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

Opções de CLI

Códigos de Saída

CodeMeaning
0Sucesso: todos os usuários processados ou ignorados
1Falha: pelo menos um usuário falhou na sincronização

Como Funciona

  1. Buscar: Baixa chaves SSH das URLs configuradas
  2. Analisar: Valida e remove duplicatas entre todas as fontes
  3. Mesclar: Opcionalmente preserva chaves que existem apenas localmente
  4. Gravar: Atualiza atomicamente authorized_keys com as permissões corretas
  5. Fazer backup: Cria backups com timestamp antes de qualquer alteração

Se alguma fonte falhar ao buscar, o AuthKeySync aborta a atualização para aquele usuário para evitar bloqueios. Seu acesso existente permanece intacto.

Apoie o Projeto

Se você achar AuthKeySync útil, considere dar uma estrela no GitHub e me seguir no X (Twitter) para atualizações:

  • Dar estrela no GitHub
  • Seguir @eduardoolat no X

Licença

Licença MIT. Consulte LICENSE para detalhes.

Baixar ferramenta
OptionTypeDefaultDescription
backup_enabledbooltrueCriar backups antes de modificar authorized_keys
backup_retention_countint10Número de arquivos de backup a manter por usuário
preserve_local_keysbooltrueManter chaves existentes que não estão em fontes remotas
Type
Required
Description
usernamestringYesNome de usuário do sistema (ex.: root, deploy)
sourceslistYesLista de fontes de chaves
OptionTypeDefaultDescription
urlstring(required)URL que retorna chaves SSH em texto puro
methodstringGETMétodo HTTP: GET ou POST
headersmap{}Cabeçalhos HTTP personalizados (ex.: para autenticação)
bodystring""Corpo da requisição para requisições POST
timeout_secondsint10Tempo limite da requisição em segundos
OptionDescription
--config <path>Caminho para o arquivo de configuração (padrão: /etc/authkeysync/config.yaml)
--dry-runSimular sincronização sem modificar nenhum arquivo
--debugHabilitar log de depuração (mais verboso)
--quietMostrar apenas avisos e erros (recomendado para cron)
--silentMostrar apenas erros (mais silencioso)
--versionMostrar informações da versão e sair
--helpMostrar mensagem de ajuda