通过代理连接到BitBucket

jan*_*jan 7 svn proxy mercurial bitbucket

海,

我尝试 从我在Bitbucket.org上的私人仓库中拉出
我 需要Windows身份验证的公司代理后面的
Windows机器上的本地仓库
.

  • 我找到了代理服务器和端口(IE的Internet选项)
  • 我找到了我的设置Mercurial.ini文件%USERPROFILE%
  • 我将此部分添加到它(信息):

    [http_proxy]
    host = TheProxyServer:TheProxyServerPort
    user = MyWindowsLogin
    passwd =MyWindowsPassword

  • 这有效:

C:\ path\to\repo> hg pull
http授权所需域
:Bitbucket.org HTTP
用户:

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

搜索更改
未找到任何更改

但是写下密码Mercurial.ini显然是一个主要的安全问题(除了因为我们的密码策略而每个月都要更新这个文件).

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

编辑:

我尝试使用相同的设置和SSH,但我得到了这个:

C:\ path\to\repo> hg clone ssh://hg@bitbucket.org/ ME/repo/
running""C:\ Program Files\TortoiseHg\TortoisePlink.exe"-ssh -2 hg@bitbucket.org" hg -R ME/repo/serve --stdio"

中止:远程hg没有合适的回复!

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

EDIT2:

出现这个问题是因为Subversion正确处理了这种情况:

在Subversion servers文件中我也指定了代理主机和端口,Subversion自动发送我的Windows身份验证.在使用例如通过代理从Web检出来源时,我无需输入或写下我的凭据

C:\ workingdir> svn checkout http://okarito.googlecode.com/svn/trunk/ okarito-read-only
...查看了修订版5.

提前致谢!
一月

bri*_*gge 5

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

我的另一个建议是使用TortoiseHg.这将存储您的代理信息,但我不确定它是否安全存储.


Dav*_*ebb 3

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

hg --config http_proxy.passwd=YourWindowsPassword pull
Run Code Online (Sandbox Code Playgroud)

这会将您的密码保留在命令历史记录中,但这可能比在Mercurial.ini文件中更好。