Github (SSH) przez publiczne WIFI, port 22 zablokowany

171

Jestem obecnie w publicznym miejscu WIFI i nie mogę używać SSH (prawdopodobnie zablokowali ten port). Jednak potrzebuję tego połączenia, aby wykonać git push.

➜ ssh -T [email protected]
ssh: connect to host github.com port 22: Connection refused

Czy można ominąć to ograniczenie, konfigurując tunel SSH przez port 80 i nakazując github pushużycie tego połączenia? Jak to zrobić? Jestem na OSX (lew). To musi być powszechny problem?

ostroon
źródło

Odpowiedzi:

370

Spróbuj tego:

$ vim ~/.ssh/config

Dodaj

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

Źródło: https://help.github.com/articles/using-ssh-over-the-https-port

prtitrz
źródło
6
@prtitrz masz jakiś pomysł, jaka jest konfiguracja dla heroku?
Alextoul,
32
po prostu fyi, nie musisz otwierać pliku za pomocą vima.
Joel Brewer
1
To jest świetne! Ale ja też muszę to zrobić dla heroku. Jakieś pomysły?
J-bob
Sprawdź serverfault.com/a/253314, jeśli otrzymujeszBad owner or permissions on /home/.../.ssh/config
Sunil Kumar
44

To samo działa w przypadku Bitbucket:

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

via (nieaktualne / martwe)

przez, zaktualizowane (29.10.2015)

the_karel
źródło
22

Oprócz skonfigurowania go za pomocą ~/.ssh/configpliku możesz także po prostu dołączyć numer portu do używanego zdalnego adresu URL. Ty po prostu musisz

  1. użyj odpowiedniego adresu URL, takiego jak ssh://user@host:port/pathzamiast user@host:pathskrótu; i

  2. dodaj ssh.subdomenę na github.com.

Na przykład zamiast

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

posługiwać się

ssh://[email protected]:443/cdbennett/python-gitlab.git
Colin D. Bennett
źródło
6

W przypadku gitlab można dodać:

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

Źródło: Alternatywny port Gitlab SSH

Jikku Jose
źródło
1

Nie ma potrzeby modyfikowania ~/.ssh/config. Możesz dodać kolejne zdalne repozytorium za pośrednictwem 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
źródło
0

Znajduję dwa sposoby

Pierwszy

  • tor + torify

Po pomyślnym zainstalowaniu i skonfigurowaniu tor w systemie, po prostu uruchom to, aby sprawdzić użycie ssh tor.

torify ssh -Tv [email protected]


druga

  • tor + privoxy + korkociąg

Najpierw skonfiguruj tor z pierwszego kroku. Następnie zainstaluj privoxy, aby przekonwertować tor SOCKS5 na proxy HTTP.

sudo apt install privoxy

Następnie zainstaluj korkociąg

sudo apt install corkscrew

Umieść ten plik konfiguracyjny w: ~ / .ssh / config

host *
    ProxyCommand corkscrew 127.0.0.1 8118 %h %p

Lub z ncat

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

Można również użyć nc zamiast ncat

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

Teraz ssh może używać skonfigurowanego proxy.

EsmaeelE
źródło