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 (лев). Это должно быть общей проблемой?

ostroon
источник
Кто-нибудь знает, как это сделать для Launchpad.net?
Акива

Ответы:

370

Попробуй это:

$ vim ~/.ssh/config

Добавить

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

Источник: https://help.github.com/articles/using-ssh-over-the-https-port

prtitrz
источник
6
@prtitrz есть идеи, что такое конфиг для героку?
Alextoul
32
просто тебе не нужно открывать файл с помощью vim.
Джоэл Брюер
1
Это круто! Но мне тоже нужно сделать это за героку. Любые идеи?
J-bob
Обратитесь к serverfault.com/a/253314, если вы получаетеBad owner or permissions on /home/.../.ssh/config
Сунил Кумар
Кто-нибудь знает, как это сделать для launchpad.net?
Акива
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 в системе просто запустите эту команду, чтобы проверить использование ssh tor.

torify ssh -Tv git@gitlab.com


второй

  • Тор + Привокси + Штопор

Сначала настройте tor с первого шага. Затем установите privoxy для преобразования SOCKS5 в HTTP-прокси.

sudo apt install privoxy

Затем установите штопор

sudo apt install corkscrew

Поместите этот файл конфигурации в: ~ / .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 может использовать настроенный прокси.

EsmaeelE
источник