将密码存储在TortoiseHg中

M. *_*ley 198 mercurial google-code tortoisehg

有没有办法配置TortoiseHg来存储我的密码?

我在Google Code上托管了一个项目,我使用TortoiseHg访问该项目.每当我想将更改推送到Google Code时,TortoiseHg会提示我输入用户名和密码.谷歌代码要求我使用自动生成的密码,每次查找它都会非常重复.

Vla*_*scu 262

现有的答案都建议以纯文本形式存储未加密的用户名和密码,这有点不禁.

您应该使用密钥环扩展,因为它是专门为安全保存身份验证密码而设计的.它已与TortoiseHg捆绑在一起,因此您只需在mercurial.ini文件中编写以下内容即可将其激活:

[extensions]
mercurial_keyring=
Run Code Online (Sandbox Code Playgroud)

您还必须通过编辑特定于存储库的.hg\hgrc文件将您的用户名与推送网址相关联,如下例所示:

[paths]
default = https://<your_username>@bitbucket.org/tortoisehg/thg
Run Code Online (Sandbox Code Playgroud)

有关将用户名与URL关联的更多详细信息,请参阅密钥环扩展页面的存储库配置(SMTP)部分.

  • 正确的方法是使用auth部分配置用户名.您的回购路径中不应该有auth信息,例如`[auth] \n bitbucket.org.prefix = bitbucket.org \n bitbucket.org.username = schlamar` (3认同)
  • 我刚试过这个解决方案,它在Windows 7上运行得很好.非常好!谢谢! (2认同)

bru*_*uha 148

三个步骤,观看截图. 注意:这会以明文形式存储您的密码.

在此输入图像描述

  • 看起来这也将密码存储在纯文本中 - 如果您启用了密钥环扩展,则密码字段将被禁用 (37认同)
  • 只有在使用https协议时才有效,当设置为http时,挂锁就会消失. (5认同)
  • 2赞成视觉解释,thx! (4认同)
  • 优秀......工作就像一个魅力.谢谢! (3认同)

Nic*_*lás 69

安全警告

虽然这个答案在2017-09-15之前被接受,但它不是推荐的解决方案.您绝不应以纯文本格式存储密码.请改用mercurial_keyring扩展程序.在这里看到另一个答案


您可以将推送URL更改为https:// username:password@hostname.com/repo.

Google CodeMercurial的常见问题解答对此进行了解释.

编辑:Mercurial FAQ解释了另一种方法:

使用Mercurial 1.3,您还可以在hgrc文件中添加auth部分:
[auth]
example.prefix = https://hg.example.net/
example.username = foo
example.password = bar

  • 这是一个糟糕的答案!你永远不应该在任何文件中存储明文密码...... !! 使用mercurial_keyring的另一个选项(更多选票)是唯一正确的选择! (50认同)
  • +1.考虑到`hg push`是非破坏性的(你可以总是`hg strip`不需要的变更集),推送到远程存储库几乎不是一个高度特权的操作.因此,只要知道安全隐患,明文密码存储通常就足够了. (6认同)
  • @max 1)理论上可能是正确的,但OP明确表示他正在使用自动生成的密码2)版本控制会停止此操作,您可以看到所有已签入的更改,这怎么可能是一个问题?3)如果有人可以访问存储在您计算机上的明文密码,他们也可以访问您的代码.密码在这里没有意义,因为他们可以将代码转储到加密狗上. (6认同)
  • 问题不在于某人可以无可挽回地破坏存储库.问题是:(1)人们重复使用密码,因此一旦有人设法访问该文本文件,他们就能够访问不相关的资源; (2)任意黑客可能潜入源代码......(3)代码可能是秘密的(并非所有开发都是开源的),并且将其窃取并不总是很有趣. (4认同)
  • @LarsCorneliussen这不是一个糟糕的答案.并非每个用例都需要这种安全级别.密钥环扩展是一个选项,就像这样. (4认同)

kuy*_*kuy 12

如果要通过TortoiseHg进行配置,可以使用"存储库设置"对话框.打开对话框后,请切换到"同步"标签.您可以添加具有HTTPS身份验证信息的路径.

http://tortoisehg.bitbucket.io/manual/2.9/settings.html#module-web.settings