Подтвердить что ты не робот

SSH в git за прокси-сервером на окнах 7

Я тестирую SSH-соединение для проверки ключа RSA в git. Я работаю над прокси-сервером. Я использую окно 7 и установил msysGit-fullinstall-1.7.3.1-preview20101002. Теперь в окне msys.exe я установил прокси по команде 'git config --global http.proxy http://host:port' После этого я попробовал команду 'ssh git @github.com'. Это дает мне ошибку, как "ssh: github.com: нет адреса, связанного с именем"

Что мне делать?

4b9b3361

Ответ 1

Настройка http.proxy не будет работать для ssh. Вам необходимо проксировать ваше ssh-соединение. См. это описание. Подводя итог:

Запустите git-cmd.bat и создайте ~/.ssh/config (notepad %home%\.ssh\config.)

ProxyCommand /bin/connect.exe -H proxy.server.name:3128 %h %p

Host github.com
  User git
  Port 22
  Hostname github.com
  IdentityFile "C:\users\username\.ssh\id_rsa"
  TCPKeepAlive yes
  IdentitiesOnly yes

Host ssh.github.com
  User git
  Port 443
  Hostname ssh.github.com
  IdentityFile "C:\users\username\.ssh\id_rsa"
  TCPKeepAlive yes
  IdentitiesOnly yes

(установите правильное имя прокси-сервера: порт и путь к id_rsa. Когда вы используете git - bash, используйте слэши в пути к id_rsa)
(Моя версия msysgit включает connect.exe, поэтому мне не нужно загружать и компилировать connect.c). Предкомпилированный exe также доступен здесь.

Теперь ssh github.com должен работать

Обратите внимание, что если вы хотите подключиться через прокси-сервер socks5, измените -H на -S.

ProxyCommand connect -S proxy.server.name:1080 %h %p

Если вы используете файловую систему Linux, разрешение файла ~/.ssh/config должно быть 600, но в стандартном разделе Windows NTFS эти разрешения не существуют.

Если ваш прокси требует аутентификации NTLM, вы можете использовать cntlm, см. также этот ответ.