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.
Versão do artigo: Enterprise Server 2.20

Sobre autoridades certificadas de SSH

Com uma autoridade certificada SSH, a organização ou conta corporativa pode oferecer certificados SSH para os integrantes usarem ao acessar seus recursos com o Git.

O suporte para autoridades certificadas SSH está disponível com GitHub Enterprise Cloud e GitHub Enterprise Server 2.19+. Para obter mais informações, consulte os "Produtos do GitHub".

Um certificado SSH é um mecanismo utilizado para uma chave SSH assinar outra chave SSH. Se você usa uma autoridade certificada (CA) SSH para fornecer certificados SSH aos integrantes da organização, você pode adicionar a CA em sua conta corporativa ou organização para permitir que integrantes da organização usem os certificados deles para acessar os recursos da organização. Para obter mais informações, consulte "Gerenciar a autoridade certificada de SSH da organização".

Depois de adicionar uma CA SSH à sua organização ou conta corporativa, você pode usar a CA para assinar certificados SSH de cliente para integrantes da organização. Integrantes da organização podem usar os certificados assinados para acessar os repositórios da sua organização (e somente os repositórios da sua organização) no Git. Você pode exigir que os integrantes usem certificados SSH para acessar os recursos da organização.

Por exemplo, você pode desenvolver um sistema interno que emite um novo certificado para seus desenvolvedores todas as manhãs. Cada desenvolvedor pode usar o certificado diário para trabalhar nos repositórios da organização no GitHub Enterprise. No final do dia, o certificado pode expirar automaticamente, protegendo seus repositórios caso o certificado seja adulterado mais tarde.

A cada emissão de certificado, você deve incluir uma extensão especificando para qual usuário do GitHub Enterprise é o certificado. Por exemplo, você pode usar o comando do OpenSSH ssh-keygen substituindo KEY-IDENTITY por sua identidade chave e USERNAME por um nome de usuário do GitHub Enterprise:

$ ssh-keygen -s ./ca-key -I KEY-IDENTITY -O extension:login@github.com=USERNAME ./user-key.pub

Para emitir um certificado para alguém que tem nomes de usuário diferentes no GitHub Enterprise Server e no GitHub Enterprise Cloud, você pode incluir duas extensões de login.

$ ssh-keygen -s ./ca-key -I KEY-IDENTITY -O extension:login@github.com=CLOUD-USERNAME extension:login@HOSTNAME=SERVER-USERNAME ./user-key.pub

É possível restringir os endereços IP dos quais um integrante da organização pode acessar os recursos da sua organização usando uma extensão source-address. A extensão aceita um endereço IP específico ou um intervalo de endereços IP usando a notação CIDR. É possível especificar vários endereços ou intervalos separando os valores com vírgulas. Para obter mais informações, consulte "Roteamento interdomínio sem classes" na Wikipedia.

$ ssh-keygen -s ./ca-key -I KEY-IDENTITY -O extension:login@github.com=USERNAME -O source-address=COMMA-SEPARATED-LIST-OF-IP-ADDRESSES-OR-RANGES ./user-key.pub

Integrantes da organização podem usar os certificados assinados para autenticação mesmo que você tenha aplicado o logon único SAML. A menos que você exija certificados SSH, os integrantes podem continuar a usar outros meios de autenticação para acessar os recursos da organização no Git, como o nome de usuário e senha deles, tokens de acesso pessoais e outras chaves SSH próprias.

Para evitar erros de autenticação, os integrantes da organização devem usar uma URL especial que inclua o ID da organização para clonar repositórios usando certificados assinados. Qualquer pessoa com acesso de leitura no repositório pode localizar essa URL na página do repositório. Para obter mais informações, consulte "Clonar um repositório".

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato