我的Mercurial服务器要求使用https验证进行拉取。如何在客户端上将我的身份验证信息缓存而不在磁盘上公开明文密码?水银认证缓存?
我正在寻找类似using sudo with mercurial and ssh authentication的东西,但是用于HTTPS。
我的Mercurial服务器要求使用https验证进行拉取。如何在客户端上将我的身份验证信息缓存而不在磁盘上公开明文密码?水银认证缓存?
我正在寻找类似using sudo with mercurial and ssh authentication的东西,但是用于HTTPS。
你有没有探索过Mercurial keyring?
它支持HTTPS并附带最新版本TortoiseHg。如果你没有TortoiseHg,你可以像其他扩展一样安装它(尽管如果你是Windows用户,我推荐TortoiseHg)。
你可以把一个[auth]
部分在~.hgrc
:
[auth]
foo.prefix = hg.intevation.org/mercurial
foo.username = foo
foo.password = bar
foo.schemes = http https
或者你可以随时使用的URL与它的身份验证信息,这是善变的,因为它是在Web浏览器的地址栏为有效:
http://user:[email protected]/path/to/repo/
,你会把你的回购的.hg/hgrc
文件的[path]
部分。
这个问题明确指出我不想在磁盘上公开一个纯文本密码。再试一次 :) – Gili 2010-09-29 19:57:31
这似乎不适用于Windows下。该代码使用pwd和其他特定于unix的命令。显然有一个跨平台的方式来做到这一点与客户端证书。有任何想法吗? – Gili 2010-10-01 07:30:22
在Windows上,Hg和keyring的TortoiseHg版本应该没问题。以下是keyring文档的说明:“如果您使用的是Windows,我们建议您使用TortoiseHg.THG附带Windows特定的密钥环后端,否则mercurial-keyring扩展无法在Windows上正常运行。 TortoiseHg从版本0.10开始。“ – dls 2010-10-01 13:22:40
安装TortoiseHg后,您需要启用mercurial_keyring扩展:右键单击资源管理器中的任意文件夹> TortoiseHg>全局设置>单击扩展>勾选mercurial_keyring>单击确定。现在,系统会首次提示您输入密码,但不会进行后续操作。 (为什么他们不会默认打开它,或者让它更广泛地被人们知道似乎对我来说太愚蠢了!) – Rory 2011-01-16 01:32:10