Skip to main content

Esta versão do GitHub Enterprise Server foi descontinuada em 2024-07-09. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Informar ao Git sobre a chave de assinatura

Para assinar commits localmente, você precisa informar ao Git que há uma chave GPG, SSH ou X.509 que deseja usar.

Platform navigation

Informar ao Git sobre a chave GPG

Se você estiver usando uma chave GPG que corresponde à sua identidade do autor do submissão e ao endereço de e-mail verificado associado à sua conta em sua instância do GitHub Enterprise Server, você poderá começar a assinar commits e tags.

Se você não tiver uma chave GPG que corresponda à identidade do committer, precisará associar um e-mail a uma chave existente. Para obter mais informações, confira "Associar um e-mail à chave GPG".

Se você tiver várias chaves GPG, precisará informar ao Git qual deve ser usada.

  1. Abra Terminal.

  2. Se você tiver configurado anteriormente o Git para usar um formato de chave diferente ao assinar com o --gpg-sign, desmarque essa configuração para que o formato padrão de openpgp seja usado.

    git config --global --unset gpg.format
    
  3. Use o comando gpg --list-secret-keys --keyid-format=long para listar a forma longa das chaves GPG para as quais você tem uma chave pública e privada. Uma chave privada é necessária para assinar commits ou tags.

    Shell
    gpg --list-secret-keys --keyid-format=long
    

    Observação: algumas instalações de GPG no Linux podem exigir o uso de gpg2 --list-keys --keyid-format LONG para ver uma lista das chaves existentes. Nesse caso, você também precisará configurar o Git para usar gpg2 executando git config --global gpg.program gpg2.

  4. Da lista de chaves GPG, copie a forma longa do ID da chave GPG que você gostaria de usar. Neste exemplo, a ID da chave GPG é 3AA5C34371567BD2:

    Shell
    
    $ gpg --list-secret-keys --keyid-format=long
    /Users/hubot/.gnupg/secring.gpg
    ------------------------------------
    sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
    uid                          Hubot <hubot@example.com>
    ssb   4096R/4BB6D45482678BE3 2016-03-10
    
  5. Para definir a sua chave de assinatura GPG principal no Git, cole o texto abaixo, substituindo o ID da chave GPG principal que você gostaria de usar. Neste exemplo, a ID da chave GPG é 3AA5C34371567BD2:

    git config --global user.signingkey 3AA5C34371567BD2
    

    Como alternativa, ao definir uma subchave, inclua o sufixo !. Neste exemplo, a ID da subchave GPG é 4BB6D45482678BE3:

    git config --global user.signingkey 4BB6D45482678BE3!
    
  6. Opcionalmente, para configurar o Git a fim de assinar todos os commits por padrão, insira o seguinte comando:

    git config --global commit.gpgsign true
    

    Para obter mais informações, confira "Assinar commits".

  7. Para adicionar a chave GPG ao arquivo de inicialização .bashrc, execute o seguinte comando:

    [ -f ~/.bashrc ] && echo -e '\nexport GPG_TTY=$(tty)' >> ~/.bashrc
    

Contando ao Git sobre sua chave SSH

Você pode usar uma chave SSH existente para assinar confirmações e marcas ou gerar uma nova especificamente para assinatura. Para obter mais informações, confira "Gerando uma nova chave SSH e adicionando-a ao agente SSH".

Observação: a verificação de assinatura SSH está disponível no Git 2.34 ou versão posterior. Para atualizar sua versão do Git, acesse o site do Git.

  1. Abra Terminal.

  2. Configure o Git para usar SSH para assinar confirmações e marcas:

    git config --global gpg.format ssh
    
  3. Para definir a chave de assinatura SSH no Git, cole o texto abaixo, substituindo /PATH/TO/.SSH/KEY.PUB pela chave pública que deseja usar.

    git config --global user.signingkey /PATH/TO/.SSH/KEY.PUB
    

Leitura adicional

Pressione alt+up para ativar