Skip to main content

Utilisation de SSH sur le port HTTPS

Parfois, les pare-feu refusent complètement d’autoriser les connexions SSH. Si vous n’avez pas la possibilité d’utiliser le clonage HTTPS avec la mise en cache des informations d’identification, vous pouvez tenter un clonage via la une connexion SSH établie sur le port HTTPS. Si la plupart des règles de pare-feu autorisent cela, les serveurs proxy peuvent néanmoins interférer.

Warning

Utilisateurs de GitHub Enterprise Server  : l’accès à GitHub Enterprise Server via SSH sur le port HTTPS n’est pas pris en charge.

Pour tester s’il est possible d’utiliser SSH sur le port HTTPS, exécutez cette commande SSH :

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

Si cela a fonctionné, parfait ! Sinon, vous devrez peut-être suivre notre guide de résolution des problèmes.

Note

Le nom d'hôte du port 443 est ssh.github.com, et pas github.com.

À présent, pour cloner le dépôt, vous pouvez exécuter la commande suivante :

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

Activation des connexions SSH sur HTTPS

Si vous êtes en mesure de vous connecter en mode SSH à git@ssh.github.com sur le port 443, vous pouvez remplacer vos paramètres SSH afin que toute connexion à GitHub.com s’exécute via ce serveur et ce port.

Pour définir cela dans votre fichier de configuration SSH, modifiez le fichier à l’emplacement ~/.ssh/config, puis ajoutez cette section :

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

Vous pouvez tester que cela fonctionne en vous reconnectant à GitHub.com :

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

Mise à jour des hôtes connus

La première fois que vous interagissez avec GitHub après avoir basculé sur le port 443, vous pouvez recevoir un message d’avertissement indiquant que l’hôte est introuvable dans known_hosts ou qu’il a été trouvé avec un autre nom.

# 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])?

Vous pouvez répondre « oui » à cette question sans problème, en supposant que l’empreinte digitale SSH correspond à l’une des empreintes digitales publiées de GitHub. Pour obtenir la liste des empreintes digitales, consultez Empreintes digitales de clé SSH de GitHub.