Github (SSH) ผ่าน WiFi สาธารณะบล็อกพอร์ต 22


171

ขณะนี้ฉันอยู่ในที่สาธารณะ WIFI และฉันไม่สามารถใช้ SSH (พวกเขาอาจบล็อกพอร์ตนั้น) git pushแต่ผมต้องว่าการเชื่อมต่อที่จะทำ

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

เป็นไปได้ไหมที่จะข้ามข้อ จำกัด นี้โดยการตั้งค่าอุโมงค์ SSH ผ่านพอร์ต 80 และบอกgithub pushให้ใช้การเชื่อมต่อนั้น? ทำอย่างไร ฉันใช้ OSX (สิงโต) นี่จะเป็นปัญหาที่พบบ่อยหรือไม่?

คำตอบ:


370

ลองสิ่งนี้:

$ vim ~/.ssh/config

เพิ่ม

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

ที่มา: https://help.github.com/articles/using-ssh-over-the-https-port


6
@prtitrz ความคิดใด ๆ ที่เป็น config สำหรับ heroku
Alextoul

32
เพียงแค่ fyi คุณไม่ต้องเปิดไฟล์ด้วย vim
Joel Brewer

1
มันเยี่ยมมาก! แต่ฉันก็ต้องทำเช่นนี้เพื่อ heroku ความคิดใด ๆ
J-bob

อ้างถึงserverfault.com/a/253314หากคุณได้รับBad owner or permissions on /home/.../.ssh/config
Sunil Kumar


22

นอกเหนือจากการกำหนดค่าด้วย~/.ssh/configไฟล์คุณยังสามารถรวมหมายเลขพอร์ตใน URL ระยะไกลที่คุณใช้ คุณเพียงแค่ต้อง

  1. ใช้ URL ที่เหมาะสมเช่นssh://user@host:port/pathแทนที่จะuser@host:pathจดชวเลข และ

  2. ย่อหน้าโดเมนย่อยเพื่อssh.github.com

ตัวอย่างเช่นแทนที่จะเป็น

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

ใช้

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


1

~/.ssh/configไม่จำเป็นต้องปรับเปลี่ยน 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

ฉันค้นหาสองวิธี

เป็นครั้งแรก

  • tor + torify

หลังจากติดตั้งและกำหนดค่า tor on เรียบร้อยแล้วให้รันโปรแกรมนี้เพื่อตรวจสอบ ssh use tor

torify ssh -Tv git@gitlab.com


ที่สอง

  • Tor + privoxy + corkscrew

ก่อนกำหนดค่า tor จากขั้นตอนกำปั้น จากนั้นติดตั้งprivoxyเพื่อแปลง tor SOCKS5 เป็น HTTP proxy

sudo apt install privoxy

จากนั้นติดตั้งเกลียว

sudo apt install corkscrew

วางไฟล์ config นี้ใน: ~ / .ssh / config

host *
    ProxyCommand corkscrew 127.0.0.1 8118 %h %p

หรือกับncat

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

ยังสามารถใช้ncแทนncat

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

ตอนนี้ ssh สามารถใช้พร็อกซีที่ตั้งค่าไว้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.