Github (SSH) über öffentliches WIFI, Port 22 blockiert


171

Ich bin derzeit an einem öffentlichen WIFI-Ort und kann SSH nicht verwenden (sie haben diesen Port wahrscheinlich blockiert). Ich brauche diese Verbindung jedoch, um a git push.

➜ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection refused

Ist es möglich, diese Einschränkung zu umgehen, indem Sie einen SSH-Tunnel über Port 80 einrichten und anweisen github push, diese Verbindung zu verwenden? Wie geht das? Ich bin auf OSX (Löwe). Dies muss ein häufiges Problem sein?

Antworten:


370

Versuche dies:

$ vim ~/.ssh/config

Hinzufügen

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

Quelle: https://help.github.com/articles/using-ssh-over-the-https-port


6
@prtitrz Irgendeine Idee, was ist die Konfiguration für Heroku?
Alextoul

32
Nur zu Ihrer Information, Sie müssen die Datei nicht mit vim öffnen.
Joel Brewer

1
Das ist toll! Aber ich muss das auch für Heroku tun. Irgendwelche Ideen?
J-Bob

Siehe serverfault.com/a/253314, wenn Sie erhaltenBad owner or permissions on /home/.../.ssh/config
Sunil Kumar


22

Zusätzlich zur Konfiguration mit der ~/.ssh/configDatei können Sie die Portnummer einfach in die von Ihnen verwendete Remote-URL aufnehmen. Du musst nur

  1. Verwenden Sie eine richtige URL wie ssh://user@host:port/pathanstelle der user@host:pathKurzschrift. und

  2. Stellen Sie die ssh.Subdomain vor github.com.

Zum Beispiel anstelle von

git@github.com:cdbennett/python-gitlab.git

verwenden

ssh://git@ssh.github.com:443/cdbennett/python-gitlab.git


1

Keine Notwendigkeit, die zu ändern ~/.ssh/config. Sie können ein weiteres Remote-Repository über hinzufügen git remote add ...

// github
git remote add ssh://git@ssh.github.com:443/repo/name.git

// gitlab
git remote add ssh://git@altssh.gitlab.com:443/repo/name.git

0

Ich finde zwei Wege

Zuerst

  • tor + torifizieren

Nach erfolgreicher Installation und Konfiguration von tor auf dem System führen Sie dies einfach aus, um die Verwendung von ssh zu überprüfen.

torify ssh -Tv git@gitlab.com


Zweite

  • tor + privoxy + korkenzieher

Konfigurieren Sie den Tor zuerst vom ersten Schritt an. Installieren Sie dann privoxy , um tor SOCKS5 in einen HTTP-Proxy zu konvertieren.

sudo apt install privoxy

Dann den Korkenzieher einbauen

sudo apt install corkscrew

Platzieren Sie diese Konfigurationsdatei in: ~ / .ssh / config

host *
    ProxyCommand corkscrew 127.0.0.1 8118 %h %p

Oder mit ncat

Host gitlab.com
        User git
        ProxyCommand ncat --proxy 127.0.0.1:8118 %h %p

Kann auch nc anstelle von ncat verwenden

    ProxyCommand nc --proxy 127.0.0.1:8118 %h %p

Jetzt kann ssh den konfigurierten Proxy verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.