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 [email protected]
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?

Ostroon
quelle

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

prtitrz
quelle
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
44

Das gleiche funktioniert für Bitbucket:

Host bitbucket.org
  Hostname  altssh.bitbucket.org
  Port  443

via (veraltet / tot)

via, aktualisiert (29.10.2015)

the_karel
quelle
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

[email protected]:cdbennett/python-gitlab.git

verwenden

ssh://[email protected]:443/cdbennett/python-gitlab.git
Colin D Bennett
quelle
6

Für gitlab kann Folgendes hinzugefügt werden:

Host gitlab.com
  Hostname altssh.gitlab.com
  User git
  Port 443

Quelle: Alternativer Gitlab SSH-Port

Jikku Jose
quelle
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://[email protected]:443/repo/name.git

// gitlab
git remote add ssh://[email protected]:443/repo/name.git
Krishan König
quelle
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 [email protected]


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.

EsmaeelE
quelle