Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise será descontinuada em Esta versão do GitHub Enterprise foi descontinuada em 2020-08-20. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Versão do artigo: Enterprise Server 2.18

Gerenciar chaves de implantação

Aprenda maneiras diferentes de gerenciar chaves SSH em seus servidores ao automatizar scripts de implantação e da melhor maneira para você.

Neste artigo

Você pode gerenciar chaves SSH em seus servidores ao automatizar scripts de implantação usando o encaminhamento do agente SSH, HTTPS com tokens do OAuth, chaves de implantação ou usuários de máquina.

Encaminhamento de agente SSH

Em muitos casos, especialmente no início de um projeto, o encaminhamento de agentes SSH é o método mais rápido e simples de utilizar. O encaminhamento de agentes usa as mesmas chaves SSH que o seu computador de desenvolvimento local.

Prós
  • Você não tem que gerar ou monitorar nenhuma chave nova.
  • Não há gerenciamento de chaves; os usuários têm as mesmas permissões no servidor e localmente.
  • Não há chaves armazenadas no servidor. Portanto, caso o servidor esteja comprometido, você não precisa buscar e remover as chaves comprometidas.
Contras
  • Os usuários devem ingressar com SSH para implantar; os processos de implantação automatizados não podem ser usados.
  • Pode ser problemático executar o encaminhamento de agente SSH para usuários do Windows.
Configuração
  1. Ativar o encaminhamento do agente localmente. Consulte o nosso guia sobre o encaminhamento de agentes SSH para obter mais informações.
  2. Defina seus scripts de implantação para usar o encaminhamento de agentes. Por exemplo, em um script bash, permitir o encaminhamento de agentes seria algo como isto: ssh -A serverA 'bash -s' < deploy.sh

Clonagem de HTTPS com tokens do OAuth

Se você não quiser usar chaves SSH, você poderá usar HTTPS com tokens do OAuth.

Prós
  • Qualquer pessoa com acesso ao servidor pode implantar o repositório.
  • Os usuários não precisam alterar suas configurações SSH locais.
  • Não são necessários vários tokens (um para cada usuário); um token por servidor é suficiente.
  • Um token pode ser revogado a qualquer momento, transformando-o, basicamente, em uma senha de uso único.
  • Gerar novos tokens pode ser facilmente programado usando a API do OAuth.
Contras
  • Você deve certificar-se de configurar seu token com os escopos de acesso corretos.
  • Os Tokens são, basicamente, senhas e devem ser protegidos da mesma maneira.
Configuração

Consulte o nosso guia sobre automação Git com tokens.

Chaves de implantação

You can launch projects from a GitHub Enterprise repository to your server by using a deploy key, which is an SSH key that grants access to a single repository. GitHub Enterprise attaches the public part of the key directly to your repository instead of a personal user account, and the private part of the key remains on your server. For more information, see "Delivering deployments."

Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "Repository permission levels for an organization" and "Permission levels for a user account repository."

Prós
  • Qualquer pessoa com acesso ao repositório e servidor é capaz de implantar o projeto.
  • Os usuários não precisam alterar suas configurações SSH locais.
  • As chaves de implantação são somente leitura por padrão, mas você pode lhes conferir acesso de gravação ao adicioná-las a um repositório.
Contras
  • As chaves de implementação só concedem acesso a um único repositório. Projetos mais complexos podem ter muitos repositórios para extrair para o mesmo servidor.
  • De modo geral, as chaves de implantação não são protegidas por uma frase secreta, o que a chave facilmente acessível se o servidor estiver comprometido.
Configuração
  1. Execute o procedimento ssh-keygen no seu servidor e lembre-se do local onde você salva o par de chaves RSA público/privadas gerado.
  2. 2 No canto superior direito de qualquer página do GitHub Enterprise, clique na sua foto do perfil e, em seguida, clique em Seu perfil. Navegação para o perfil 3 Na sua página de perfil, clique em Repositórios e, em seguida, clique no nome do seu repositório. Link dos repositórios 4 No seu repositório, clique em Configurações. Configurações do repositório 5 Na barra lateral, clique em Implantar Chaves e, em seguida, clique em Adicionar chave de implantação. Link para adicionar chaves de implantação 6 Forneça um título e cole na sua chave pública. Página da chave implantação 7 Selecione Permitir acesso de gravação, se você quiser que esta chave tenha acesso de gravação no repositório. Uma chave de implantação com acesso de gravação permite que uma implantação faça push no repositório. 8 Clique em Adicionar chave.

Usuários máquina

Se o seu servidor precisar acessar vários repositórios, você poderá criar uma conta nova no GitHub Enterprise e anexar uma chave SSH que será usada exclusivamente para automação. Como esta conta do GitHub Enterprise não será usada por uma pessoa, ela será denominada usuário máquina. É possível adicionar o usuário máquina como colaborador em um repositório pessoal (concedendo acesso de leitura e gravação), como colaborador externo em um repositório da organização (concedendo leitura, acesso gravação, ou administrador) ou como uma equipe, com acesso aos repositórios que precisa automatizar (concedendo as permissões da equipe).

Prós
  • Qualquer pessoa com acesso ao repositório e servidor é capaz de implantar o projeto.
  • Nenhum usuário (humano) precisa alterar suas configurações de SSH locais.
  • Não são necessárias várias chaves; o adequado é uma por servidor.
Contras
  • Apenas organizações podem restringir os usuários máquina para acesso somente leitura. Os repositórios pessoais sempre concedem aos colaboradores acesso de leitura/gravação.
  • Chaves dos usuário máquina, como chaves de implantação, geralmente não são protegidas por senha.
Configuração
  1. Execute o procedimento ssh-keygen no seu servidor e anexe a chave pública à conta do usuário máquina.
  2. Dê acesso à conta de usuário máquina aos repositórios que deseja automatizar. Você pode fazer isso adicionando a conta como colaborador, como colaborador externo ou como uma equipe em uma organização.

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato