Skip to main content

SSH über den HTTPS-Port verwenden

Mitunter verweigert die Firewall das Zulassen von SSH-Verbindungen vollständig. Wenn das HTTPS-Klonen mittels Zwischenspeicherung von Anmeldeinformationen keine Option ist, kannst Du versuchen, mithilfe einer über den HTTPS-Port hergestellten SSH-Verbindung einen Klonvorgang durchzuführen. Die meisten Firewallregeln sollten dies erlauben, aber Proxyserver beeinträchtigen dies möglicherweise.

Warning

GitHub Enterprise Server-Benutzer: Der Zugriff auf GitHub Enterprise Server über SSH über den HTTPS-Port wird derzeit nicht unterstützt.

Führe den folgenden Befehl aus, um zu testen, ob SSH über den HTTPS-Port möglich ist:

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

Falls das funktioniert hat, prima! Wenn nicht, musst du möglicherweise die Schritte in unserem Leitfaden zur Problembehandlung ausführen.

Note

Der Hostname für Port 443 lautet ssh.github.com, nicht github.com.

Um das Repository zu klonen, kannst du nun den folgenden Befehl ausführen:

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

SSH-Verbindungen über HTTPS aktivieren

Wenn du über Port 443 eine SSH-Verbindung mit git@ssh.github.com herstellen kannst, kannst du deine SSH-Einstellungen überschreiben, um zu erzwingen, dass Verbindungen mit GitHub.com diesen Server und Port durchlaufen.

Um dies in deiner SSH-Konfigurationsdatei festzulegen, bearbeite die Datei unter ~/.ssh/config, und füge den folgenden Abschnitt hinzu:

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

Du kannst testen, ob es funktioniert, indem du erneut eine Verbindung mit GitHub.com herstellst:

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

Aktualisieren bekannter Hosts

Wenn du nach dem Wechsel zu Port 443 zum ersten Mal mit GitHub interagierst, wird möglicherweise eine Warnmeldung angezeigt, dass der Host in known_hosts nicht oder unter einem anderen Namen gefunden wurde.

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

Du kannst diese Frage bedenkenlos mit „Ja“ beantworten, sofern der SSH-Fingerabdruck mit einem der von GitHub veröffentlichten Fingerabdrücke übereinstimmt. Die Liste der Fingerabdrücke findest du unter SSH-Schlüssel-Fingerprints von GitHub.