Ответ 1
См. "Использование Github через Draconian Proxies (Windows и Unix)" Джеффом Чангом (ранее доступным из другое местоположение), которое включает инструкции для платформ Windows и Unix, которые приведены ниже.
Unix
- Загрузите Git.
- Загрузите и установите corkscrew.
-
Отредактируйте или создайте файл
~/.ssh/config
и поставьте следующее:ProxyCommand /usr/bin/corkscrew proxy.example.com 443 %h %p ~/.ssh/myauth Host github.com User git Port 22 Hostname github.com IdentityFile "/media/truecrypt1/Keys/GitHubKey.private" TCPKeepAlive yes IdentitiesOnly yes Host ssh.github.com User git Port 443 Hostname ssh.github.com IdentityFile "/media/truecrypt1/Keys/GitHubKey.private" TCPKeepAlive yes IdentitiesOnly yes
-
Если все настроено правильно, вы должны иметь возможность запускать
ssh github.com
и видетьПривет, пользователь! Вы успешно прошли аутентификацию, но GitHub не предоставляет доступ к оболочке.
Соединение с github.com закрыто.Если это не работает, вы можете запустить
ssh ssh.github.com
и получить то же самое. Если первая команда не работает, это означает, что вы используете прокси-сервер, который блокирует CONNECT на порту 22. Почти никакие прокси блокируют CONNECT на порту 443, потому что вам нужно это для SSL.
Окна
- Загрузите msysgit. Некоторые настройки:
- "Запустите Git из командной строки Windows"
- "Использовать OpenSSH" (это очень важно)
- Выберите окончание строки
- Загрузите connect.c. Этот инструмент заслуживает своего собственного поста в основном из-за его полной простоты. Он отражает штопор инструмента с открытым исходным кодом и используется для туннелирования через прокси. Да, имя инструмента действительно называется "connect.c". Для пользователей Windows доступен предварительно скомпилированный двоичный файл. Я поместил свой
connect.exe
вC:\Windows\connect.exe
. - Решите, хотите ли вы использовать Windows
cmd.exe
для создания материала или оболочки стиля Cygwin. Или и то, и другое. -
Настройте оболочку Cygwin Git bash.
Для оболочки стиля Cygwin запустите значок Git и отредактируйте файл
~/.ssh/config
и убедитесь, что файл не имеет расширения. В этом файле укажите следующее:ProxyCommand /c/windows/connect.exe -H [email protected]:443 %h %p Host github.com User git Port 22 Hostname github.com IdentityFile "/c/Keys/GitHubKey.private" TCPKeepAlive yes IdentitiesOnly yes Host ssh.github.com User git Port 443 Hostname ssh.github.com IdentityFile "/c/Keys/GitHubKey.private" TCPKeepAlive yes IdentitiesOnly yes
-
Настройте оболочку Windows
cmd.exe
.Предположим, вам не нравится оболочка Git bash. Вы предпочитаете интерпретатор cmd.exe.
- Перейдите в конфигурационный файл
C:\Documents and Settings\.ssh\config
- Сделайте копию или создайте новую. Я назвал мой
config-windows
Поместите в файл следующее, снова обращая особое внимание на разделители и стили путей.
ProxyCommand C:/Windows/connect.exe -H [email protected]:443 %h %p Host github.com User git Port 22 Hostname github.com IdentityFile "C:\Keys\GitHubKey.private" TCPKeepAlive yes IdentitiesOnly yes Host ssh.github.com User git Port 443 Hostname ssh.github.com IdentityFile "C:\Keys\GitHubKey.private" TCPKeepAlive yes IdentitiesOnly yes
- Перейдите в конфигурационный файл
Подробнее см. полное сообщение в блоге.