#git #ssh #github #wifi #public
#git #ssh #github #Wi-Fi #общедоступный
Вопрос:
В настоящее время я нахожусь в общедоступном месте Wi-Fi и не могу использовать SSH (вероятно, они заблокировали этот порт). Однако мне нужно это соединение для выполнения git push
.
➜ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection refused
Можно ли обойти это ограничение, настроив SSH-туннель через порт 80 и указав github push
использовать это соединение? Как это сделать? Я на OSX (lion). Это должно быть распространенной проблемой?
Комментарии:
1. Кто-нибудь знает, как это сделать для Launchpad.net ?
Ответ №1:
Попробуйте это:
$ vim ~/.ssh/config
Добавить
Host github.com
Hostname ssh.github.com
Port 443
Источник: https://help.github.com/articles/using-ssh-over-the-https-port
Комментарии:
1. @prtitrz есть идеи, какая конфигурация для heroku?
2. к вашему сведению, вам не нужно открывать файл с помощью vim.
3. Это здорово! Но мне тоже нужно сделать это для heroku. Есть идеи?
4. См . serverfault.com/a/253314 если вы получаете
Bad owner or permissions on /home/.../.ssh/config
5. Спасибо! Ваш ответ решил мою проблему 10 лет спустя!
Ответ №2:
То же самое работает для Bitbucket:
Host bitbucket.org
Hostname altssh.bitbucket.org
Port 443
через (устаревший / мертвый)
через, обновлено (2015-10-29)
Ответ №3:
В дополнение к настройке с ~/.ssh/config
помощью файла, вы также можете просто включить номер порта в удаленный URL, который вы используете. Вам просто нужно
- используйте правильный URL, например
ssh://user@host:port/path
, вместоuser@host:path
сокращения; и - добавьте
ssh.
поддомен кgithub.com
.
Например, вместо
git@github.com:cdbennett/python-gitlab.git
использование
ssh://git@ssh.github.com:443/cdbennett/python-gitlab.git
Ответ №4:
Для gitlab можно добавить следующее:
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
Источник: альтернативный SSH-порт Gitlab
Ответ №5:
Нет необходимости изменять ~/.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
Ответ №6:
VPN (ExpressVPN) работал для меня на JetBlue
Ответ №7:
Я нахожу два способа
Первый
- tor torify
После успешной установки и настройки tor в системе просто запустите это, чтобы проверить, использует ли ssh tor.
torify ssh -Tv git@gitlab.com
Второй
- tor privoxy штопор
Сначала настройте tor с первого шага. Затем установите privoxy для преобразования tor SOCKS5 в HTTP-прокси.
sudo apt install privoxy
Затем установите corkscrew
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 может использовать настроенный прокси.
[Править / править код]
Более простая версия
Используйте torify перед командой ssh.
torify ssh -Tv git@gitlab.com
Для работы с Privoxy Tor может потребоваться изменить настройки по умолчанию. Для меня раскомментируйте эту строку в /etc/privoxy/config
forward-socks5t / 127.0.0.1:9050 .
конфигурация ssh
Host *
ProxyCommand nc --proxy 127.0.0.1:8118 %h %p