Github (SSH) melalui WIFI publik, port 22 diblokir

171

Saya saat ini di tempat WIFI publik dan saya tidak dapat menggunakan SSH (mereka mungkin memblokir port itu). Namun, saya memerlukan koneksi itu untuk melakukan git push.

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

Apakah mungkin untuk melewati batasan ini dengan mengatur terowongan SSH melalui port 80 dan memberitahu github pushuntuk menggunakan koneksi itu? Bagaimana cara melakukannya? Saya menggunakan OSX (singa). Ini pasti masalah umum?

ostroon
sumber
Adakah yang tahu bagaimana melakukan ini untuk Launchpad.net?
Akiva

Jawaban:

370

Coba ini:

$ vim ~/.ssh/config

Menambahkan

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

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

prtitrz
sumber
6
@prtitrz ada ide apa konfigurasi untuk heroku?
Alextoul
32
hanya fyi, Anda tidak perlu membuka file dengan vim.
Joel Brewer
1
Ini bagus! Tapi aku juga perlu melakukan ini untuk heroku. Ada ide?
J-bob
Rujuk ke serverfault.com/a/253314 jika Anda mendapatkanBad owner or permissions on /home/.../.ssh/config
Sunil Kumar
Adakah yang tahu bagaimana melakukan ini untuk launchpad.net?
Akiva
44

Cara yang sama untuk Bitbucket:

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

via (ketinggalan jaman / mati)

via, diperbarui (2015-10-29)

the_karel
sumber
22

Selain mengonfigurasinya dengan ~/.ssh/configfile, Anda juga dapat dengan mudah memasukkan nomor port di URL jarak jauh yang Anda gunakan. Anda hanya perlu

  1. gunakan URL yang tepat seperti ssh://user@host:port/pathbukan user@host:pathsteno; dan

  2. tambahkan ssh.subdomain ke github.com.

Misalnya, alih-alih

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

menggunakan

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

Untuk gitlab, berikut ini dapat ditambahkan:

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

Sumber: Port SSH Gitlab Alternatif

Jikku Jose
sumber
1

Tidak perlu memodifikasi ~/.ssh/config. Anda dapat menambahkan repositori jarak jauh via 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
sumber
0

Saya menemukan dua cara

Pertama

  • tor + torify

Setelah berhasil Instal dan konfigurasikan untuk sistem, jalankan ini untuk memeriksa penggunaan ssh untuk.

torify ssh -Tv [email protected]


Kedua

  • untuk + privoksi + pembuka botol

Pertama konfigurasikan dari langkah pertama. Kemudian instal privoxy untuk mengonversi tor SOCKS5 ke proxy HTTP.

sudo apt install privoxy

Kemudian instal pembuka botol

sudo apt install corkscrew

Tempatkan file konfigurasi ini di: ~ / .ssh / config

host *
    ProxyCommand corkscrew 127.0.0.1 8118 %h %p

Atau dengan ncat

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

Juga dapat menggunakan nc bukan ncat

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

Sekarang ssh dapat menggunakan proxy yang dikonfigurasi.

EsmaeelE
sumber