Подключитесь к BitBucket через прокси - PullRequest
7 голосов
/ 12 января 2010

Хой,

Я пытаюсь ртутного столба
из моего личного репо на Bitbucket.org
в мой локальный репозиторий на моей машине с Windows
из-за прокси-сервера компании, который требует проверки подлинности Windows.

  • Я нашел прокси-сервер и порт (интернет-опции IE)
  • Я нашел файл настроек Mercurial.ini в моем %USERPROFILE%
  • Я добавил этот раздел ( info ):

    * * Тысяча двадцать-одина [http_proxy]
    хост = TheProxyServer: TheProxyServerPort
    пользователь = MyWindowsLogin
    passwd = MyWindowsPassword
  • Это работает:

C: \ path \ to \ repo> hg pull
Требуется авторизация http
область: Bitbucket.org HTTP
пользователь:

после ввода учетных данных Bitbucket я получаю:

поиск изменений
изменений не найдено

Но запись пароля в Mercurial.ini, очевидно, является серьезной проблемой безопасности (помимо необходимости обновлять этот файл каждый месяц из-за наших политик паролей).

Можно ли как-нибудь разрешить Mercurial запрашивать учетные данные прокси?
Или хранить эти учетные данные в более безопасном режиме?

Edit:

Я пытался с теми же настройками и SSH, но я получил это:

C: \ path \ to \ repo> hg clone ssh: //hg@bitbucket.org/ME/repo/
работает "" C: \ Program Files \ TortoiseHg \ TortoisePlink.exe "-ssh -2 hg@bitbucket.org" hg -R ME / repo / serve --stdio "

abort: нет подходящего ответа от удаленной hg!

И диалог: "PuTTY Fatal Error - Network error: Connection timed out"

Edit2:

Этот вопрос возник, потому что Subversion правильно обрабатывает эту ситуацию:

В файле Subversion servers я также указываю прокси-хост и порт, и Subversion автоматически отправляет ему мою аутентификацию Windows. Мне не нужно ни вводить, ни записывать свои учетные данные при извлечении источника из Интернета через прокси-сервер, например,

C: \ workingdir> svn checkout http://okarito.googlecode.com/svn/trunk/ okarito только для чтения
... Вышел в редакцию 5.

Заранее спасибо!
Jan

Ответы [ 2 ]

5 голосов
/ 14 января 2010

Другой альтернативой является запуск локального http-прокси, который затем аутентифицируется с помощью http-прокси вашей компании. Вы можете запустить cntlm в Cygwin и безопасно сохранить NTLMv2-хэш в файле конфигурации cntlm. Затем вы устанавливаете для http-прокси значение localhost: 3128 и не указываете имя пользователя или пароль.

Мое другое предложение - использовать TortoiseHg. При этом будет храниться информация о вашем прокси, но я не уверен, надежно ли она хранится.

3 голосов
/ 12 января 2010

Вы можете использовать опцию --config для hg, поскольку это позволяет вам переопределить параметры конфигурации из командной строки. Синтаксис --config <section>.<name>=<value>, поэтому попробуйте это:

hg --config http_proxy.passwd=YourWindowsPassword pull

Это оставит ваш пароль в истории команд, но это, вероятно, лучше, чем в файле Mercurial.ini.

...