Skip to main content

Enterprise Server 3.21 está disponível no momento como versão candidata a lançamento.

Rotação da chave de assinatura para pacotes de atualização

Saiba como rotacionar a chave pública GPG no GitHub Enterprise Server quando GitHub atualizar a chave usada para assinar pacotes de atualização.

Sobre as chaves de assinatura do pacote de atualização

GitHub Enterprise Server os pacotes de atualização são assinados com uma chave GPG para que os administradores possam verificar se os pacotes são provenientes GitHub. Quando você instala uma atualização, o appliance verifica a assinatura do pacote usando a chave pública GPG armazenada no seu anel de chaves.

Ocasionalmente, GitHub pode girar essa chave de assinatura. Quando isso acontece, você deve atualizar a chave pública gpg em sua instância antes de instalar quaisquer pacotes de atualização assinados com a nova chave. Sua instância continuará funcionando normalmente sem a rotação de chaves, mas as atualizações falharão na verificação de assinatura até que a chave seja atualizada.

Se a chave de assinatura não tiver sido girada, a tentativa de instalar um pacote de atualização falhará com o seguinte erro:

Error: The file provided is not a valid GitHub Enterprise Server package.

Considerações sobre versões sem suporte

GitHub recomenda fortemente a atualização para uma versão com suporte o mais rápido possível.

As versões de GitHub Enterprise Server anteriores à versão 3.16 não estão sendo reassinadas com a nova chave GPG. Se estiver usando a versão 3.13 ou anterior, você não poderá fazer a rotação da chave pública do GPG até estar, no mínimo, na versão 3.14. Se você substituir sua chave pública GPG antes de atualizar para pelo menos a versão 3.14, não poderá instalar atualizações, pois a chave pública GPG anterior será removida da sua instância GitHub Enterprise Server.

Para obter ajuda para determinar o caminho de atualização correto, use o Assistente de atualização.

Prerequisites

  • Acesso SSH à sua GitHub Enterprise Server instância. Para obter mais informações, consulte Acessar o shell administrativo (SSH).
  • Sua instância deve conseguir se conectar a enterprise.github.com por HTTPS para baixar o script de rotação. Se sua instância estiver atrás de um firewall restritivo ou em um ambiente isolado da rede, baixe o script em um computador externo e transfira-o manualmente para o appliance.

Rotacionando a chave de assinatura em uma instância de nó único

  1. Conecte-se à sua GitHub Enterprise Server instância por meio do SSH.

  2. Baixe o script de rotação fornecido por GitHub.

    curl -fsSL https://enterprise.github.com/security/2026-05-24/rotate-gpg.sh -o rotate-gpg.sh
    
  3. Execute o script de rotação. O script deve ser executado duas vezes: uma vez como usuário admin e outra com sudo, porque a chave é armazenada nas contas de administrador e raiz.

    chmod ug+x ./rotate-gpg.sh
    ./rotate-gpg.sh
    sudo ./rotate-gpg.sh
    
  4. Verifique se a rotação foi concluída com êxito. Cada execução do script imprime uma mensagem de confirmação que inclui a nova impressão digital da chave.

Rotação da chave de assinatura em topologias de HA ou de cluster

Para instâncias configuradas com alta disponibilidade ou clusterização, a chave deve ser rotacionada em cada nó.

  1. Conecte-se a qualquer nó da sua instalação de HA ou cluster via SSH.

  2. Baixe o script de rotação fornecido por GitHub.

    curl -fsSL https://enterprise.github.com/security/2026-05-24/rotate-gpg.sh -o rotate-gpg.sh
    
  3. Execute os seguintes comandos. O comando ghe-cluster-each copia o script para todos os nós e o executa neles.

    ghe-cluster-each -- chmod ug+x ./rotate-gpg.sh
    ghe-cluster-each -- ./rotate-gpg.sh
    ghe-cluster-each -- sudo ./rotate-gpg.sh
    
  4. Verifique se a rotação foi concluída com êxito em cada nó.

Verificando a chave de assinatura atual

Para verificar qual chave de assinatura gpg está instalada atualmente em sua instância, conecte-se via SSH e execute:

gpg --list-keys --keyid-format long

A saída mostra a impressão digital da chave no anel de chaves. Compare a impressão digital com o valor esperado publicado GitHub para confirmar se a rotação foi aplicada corretamente.

O que esperar depois de girar a chave

Depois de girar a chave de assinatura:

  • Sua instância continua funcionando normalmente. Nenhum tempo de inatividade do usuário é necessário.
  • Os pacotes de atualização baixados anteriormente que foram assinados com a chave anterior falharão na verificação. Baixe a versão mais recente do patch disponível para obter um pacote assinado com a nova chave.
  • GitHub Enterprise Server Baixe apenas as atualizações da página de versões oficiais. Para obter mais informações, consulte GitHub Enterprise Server lançamentos.

Revertendo uma rotação de chave

O script de rotação remove a chave anterior do chaveiro GPG antes de importar a nova chave. Não há nenhuma maneira interna de desfazer a rotação.

Se você precisar de assistência para reverter uma rotação de chaves ou se recuperar de uma atualização com falha, entre em contato Suporte do GitHub.