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.

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.

Hinweis: Der Hostname für Port 443 ist ssh., nicht ``.

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

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

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

SSH-Verbindungen über HTTPS aktivieren

Wenn du über Port 443 eine SSH-Verbindung mit git@ssh. 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 
    Hostname ssh.
    Port 443
    User git

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

$ ssh -T git@
> 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.