Hoi,
我尝试 hg pull
来自我在Bitbucket.org上的私人回购
进入我的Windows机器上的本地仓库
从需要Windows身份验证的公司代理后面。
Mercurial.ini
%USERPROFILE%
文件
我已将此部分添加到其中(info):
[HTTP_PROXY]
主持人= TheProxyServer
:TheProxyServerPort
user = MyWindowsLogin
passwd = MyWindowsPassword
这有效:
C:\路径\到\回购> hg拉
需要http授权
领域:Bitbucket.org HTTP
用户:
在我输入Bitbucket的凭据后,我得到了:
搜索更改
没有发现任何变化
但在Mercurial.ini
中写下密码显然是主要的安全问题(除了因为我们的密码策略而每个月都要更新此文件)。
是否有可能让Mercurial要求代理凭证?
或者以更安全的方式存储这些凭证?
修改
我尝试使用相同的设置和SSH,但我得到了这个:
C:\路径\到\回购> 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:\工作目录> svn checkout http://okarito.googlecode.com/svn/trunk/ okarito-read-only
... 检查了修订版5。
提前致谢!
扬
答案 0 :(得分:5)
另一种方法是运行本地http代理,然后使用您公司的http代理进行身份验证。您可以运行cntlm under Cygwin并在cntlm conf文件中安全地存储NTLMv2哈希。然后,您将http代理设置为localhost:3128,并且不指定用户名或密码。
我的另一个建议是使用TortoiseHg。这将存储您的代理信息,但我不确定它是否安全存储。
答案 1 :(得分:3)
您可以使用--config
选项hg
,因为这允许您从命令行覆盖配置设置。语法为--config <section>.<name>=<value>
,请尝试以下操作:
hg --config http_proxy.passwd=YourWindowsPassword pull
这会将您的密码保留在命令历史记录中,但这可能比Mercurial.ini
文件更好。