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.

Warning

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.

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

Note

O nome do host da porta 443 é ssh.github.com, não github.com.

Este artigo contém comandos ou exemplos que usam o domínio github.com. Você poderá acessar o GitHub em um domínio diferente, como octocorp.ghe.com.

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 com 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 GitHub impressões digitais publicadas do GitHub. Para ver a lista de impressões digitais, confira Impressões digitais da chave SSH do GitHub.