Skip to main content

Usar SSH na porta HTTPS

Às vezes, os firewalls se recusam a permitir conexões SSH completamente. Se usar clonagem de HTTPS com armazenamento de credenciais em cache não for uma opção, experimente clonar usando uma conexão SSH na porta HTTPS. A maioria das regras de firewall deve permitir isso, mas o servidores proxy podem interferir.

Usuários GitHub Enterprise Server : acessar GitHub Enterprise Server via SSH por porta HTTPS atualmente não tem suporte.

Para testar se o SSH na porta HTTPS é possível, execute este comando SSH:

$ ssh -T -p 443 git@ssh.github.com
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.

Observação: o nome do host da porta 443 é ssh.github.com, não github.com.

Se deu certo, ótimo! Caso contrário, talvez seja necessário seguir nosso guia de solução de problemas.

Agora, para clonar o repositório, você pode executar o seguinte comando:

$ git clone ssh://git@ssh.github.com:443/YOUR-USERNAME/YOUR-REPOSITORY.git

Habilitar conexões SSH por HTTPS

Se você conseguir usar SSH no git@ssh.github.com na porta 443, você poderá substituir as configurações de SSH para forçar qualquer conexão ao GitHub.com a ser executada nesse servidor e nessa porta.

Para definir isso em seu arquivo de configuração SSH, edite o arquivo em ~/.ssh/config e adicione esta seção:

Host github.com
Hostname ssh.github.com
Port 443
User git

Para testar se funciona, conecte-se mais uma vez ao GitHub.com:

$ ssh -T git@github.com
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.

Atualizando hosts conhecidos

Na primeira vez que você interagir com o GitHub depois de alternar para a porta 443, talvez receba uma mensagem de aviso informando que o host não foi encontrado no known_hosts ou que ele foi encontrado por outro nome.

> The authenticity of host '[ssh.github.com]:443 ([140.82.112.36]:443)' can't be established.
> ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
> This host key is known by the following other names/addresses:
>     ~/.ssh/known_hosts:32: github.com
> Are you sure you want to continue connecting (yes/no/[fingerprint])?

Você pode responder "sim" a essa pergunta, supondo que a impressão digital do SSH corresponde a uma das impressões digitais publicadas do GitHub. Para obter a lista de impressões digitais, confira "Impressões digitais de chave SSH do Github".