2010-01-12 86 views
7

海连接到到位桶,通过代理

我尝试汞从Bitbucket.org
我的私人回购拉

到我的本地回购我的Windows机器
从背后需要公司代理Windows身份验证。

  • 我发现代理服务器和端口(IE的互联网选项)
  • 我找到了设置Mercurial.ini文件在我%USERPROFILE%
  • 我加入这个部分它(info):

    [ HTTP_PROXY]
    主机= TheProxyServerTheProxyServerPort
    用户= MyWindowsLogin
    的passwd = MyWindowsPassword

  • 这工作:

C:\路径\到\回购>汞柱拉
HTTP所需授权
境界:Bitbucket.org HTTP
用户:

我输入Bitbucket的凭证后,得到:

搜索更改
没有变化发现

写下来Mercurial.ini密码显然是一个主要安全问题(除了具有每月更新,因为我们的密码政策文件)。

是否有可能让Mercurial请求代理凭证?
或以更安全的方式存储这些凭据?

编辑:

我试图使用相同的设置和SSH,但我得到了这一点:

C:\路径\为\回购>汞柱克隆SSH:// @汞到位桶.ORG/ME /回购/
运行 “” C:\ Program Files文件\ TortoiseHg \ TortoisePlink.exe” -ssh -2 [email protected] “汞-R ME /回购/服务--stdio”

中止:远程hg没有合适的响应!

一个对话框:"PuTTY Fatal Error - Network error: Connection timed out"

EDIT2:

这个问题上来,因为颠覆处理这种情况正常:

在颠覆servers文件我指定的代理主机和端口同样,Subversion自动将Windows身份验证发送给它。当使用例如代理服务器通过代理检查网络源代码时,我不必在任何地方输入或写下我的凭证。

C:\工作目录> svn签http://okarito.googlecode.com/svn/trunk/ okarito-只读
... 取出版本5.

提前感谢!
Jan

+0

您可以使用SSH而无需通过代理? – tghw

+0

我希望我的编辑能够解答您的问题。我不是100%确定你的意思。谢谢! – jan

回答

3

您可以将--config选项用于hg,因为这允许您从命令行覆盖配置设置。语法是--config <section>.<name>=<value>,那么试试这个:

hg --config http_proxy.passwd=YourWindowsPassword pull 

这会在你的命令历史留下您的密码,但是这可能是比Mercurial.ini文件更好。

5

另一种替代方法是运行本地http代理,然后与您的公司http代理进行身份验证。您可以运行cntlm under Cygwin并安全地将NTLMv2散列存储在cntlm conf文件中。然后,您将http代理设置为localhost:3128,并且不指定用户名或密码。

我的其他建议是使用TortoiseHg。这会存储您的代理信息,但我不确定它是否安全存储。

+0

Tortoise HG在属性对话框中使用了一个密码编辑控件,很好!但是密码最终在同一个不安全的地方:mercurial.ini – jan

+0

安装一个仅用于hg的本地代理似乎有点矫枉过正,但仍然是一个很好的建议。谢谢! – jan

+0

使用CNTLM您只需要Mercurial指向代理地址:端口 - CNTLM存储密码等。 –