Skip to main content

Enterprise Server 3.15 está disponível no momento como versão release candidate.

Como configurar conexões SSH para sua instância

Você pode aumentar a segurança de sua instância do GitHub Enterprise Server configurando os algoritmos SSH que os clientes podem usar para estabelecer uma conexão.

Quem pode usar esse recurso?

Site administrators can configure SSH connections to a GitHub Enterprise Server instance.

Sobre conexões SSH para sua instância

Cada instância de GitHub Enterprise Server aceita conexões SSH em duas portas. Os administradores do site podem acessar o shell administrativo por meio do SSH e, em seguida, executar utilitários de linha de comando, solucionar problemas e executar a manutenção. Os usuários podem se conectar por meio do SSH para acessar e gravar dados do Git nos repositórios da instância. Os usuários não têm acesso de shell à sua instância. Para obter mais informações, consulte os seguintes artigos.

Para acomodar os clientes SSH no ambiente, você pode configurar os tipos de conexões que a sua instância do GitHub Enterprise Server aceitará.

Como configurar conexões SSH com chaves RSA

Quando os usuários executam operações do Git em sua instância do GitHub Enterprise Server por SSH pela porta 22, o cliente pode se autenticar com uma chave RSA. O cliente pode assinar a tentativa usando a função de hash SHA-1. Nesse contexto, a função de hash SHA-1 não é mais segura. Para obter mais informações, confira SHA-1 na Wikipédia.

Por padrão, as conexões SSH que atenderem às duas condições a seguir falharão.

  • A chave RSA foi adicionada a uma conta de usuário no sua instância do GitHub Enterprise Server após a data de corte de meia-noite UTC em 1º de agosto de 2022.
  • O cliente SSH assina a tentativa de conexão com a função de hash SHA-1.

Você pode ajustar a data de corte. Se o usuário tiver carregado a chave RSA antes da data de corte, o cliente poderá continuar se conectando com êxito usando SHA-1, desde que a chave permaneça válida. Como alternativa, você poderá rejeitar todas as conexões SSH autenticadas com uma chave RSA se o cliente assinar a conexão usando a função de hash SHA-1.

Independentemente da configuração escolhida para sua instância, os clientes podem continuar a se conectar usando qualquer chave RSA assinada com uma função de hash SHA-2.

Se você usar uma autoridade de certificação SSH, as conexões falharão se a data valid_after do certificado ocorrer após a data de corte. Para obter mais informações, confira "Sobre autoridades certificadas de SSH".

Para obter mais informações, confira the GitHub Blog.

  1. Conecte-se via SSH ao sua instância do GitHub Enterprise Server. Se sua instância for composta por vários nós, por exemplo, se a alta disponibilidade ou a replicação geográfica estiver configurada, efetue SSH no nó primário. Se você usar um cluster, poderá efetuar SSH em qualquer nó. Substitua HOSTNAME pelo nome do host da instância ou pelo nome do host ou endereço IP de um nó. Para obter mais informações, confira "Acesar o shell administrativo (SSH)".

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Audite os logs da sua instância para conexões que usam algoritmos não seguros ou funções de hash usando o utilitário ghe-find-insecure-git-operations. Para obter mais informações, confira "Utilitários de linha de comando".

  3. Insira o comando a seguir para configurar uma data final após a qual a sua instância do GitHub Enterprise Server negará conexões de clientes que usarem uma chave RSA carregada após a data se a conexão for assinada pela função de hash SHA-1. Substitua RFC-3399-UTC-TIMESTAMP por um carimbo de data/hora UTC RFC 3399 UTC válido. Por exemplo, o valor padrão, 1º de agosto de 2022, seria representado como 2022-08-01T00:00:00Z. Para obter mais informações, confira RFC 3339 no site do IETF.

    $ ghe-config app.gitauth.rsa-sha1 RFC-3339-UTC-TIMESTAMP
    
  4. Como alternativa, para desabilitar completamente as conexões SSH usando chaves RSA assinadas com a função de hash SHA-1, insira o comando a seguir.

    ghe-config app.gitauth.rsa-sha1 false
    
  5. Para aplicar a configuração, execute o comando a seguir.

    Observação: durante uma execução de configuração, os serviços do sua instância do GitHub Enterprise Server podem ser reiniciados, o que pode causar um breve tempo de inatividade para os usuários.

    Shell
    ghe-config-apply
    
  6. Aguarde a conclusão da execução de suas configurações.