我在项目中使用mercurial,每当我通过ssh将新的变更集推送到服务器时,它会要求我输入密码。
然后如何配置mercurial推出没有问密码?
我在Ubuntu 9.10上工作
答案 0 :(得分:13)
在Linux和Mac上,使用ssh-agent
。
man ssh-keygen
)~/.ssh/id_dsa.pub
)复制到远程计算机,为其指定一个唯一名称(例如myhost_key.pub
)~/.ssh/authorized_keys
文件ssh-add
,将密钥添加到钥匙串现在,您可以在此会话中使用任何远程hg
命令,而无需进行身份验证。
答案 1 :(得分:9)
假设您使用的是Windows,请阅读Mercurial/SSH guide。在帖子底部,您可以找到有关如何使用PuTTy为您执行此操作的信息。
编辑: - 这是我正在谈论的帖子的一部分(请记住,您需要使用已加载的密钥运行选美才能实现此功能):
如果您还没有,请确保使用默认设置在客户端计算机上安装Mercurial。确保告诉安装程序将Mercurial路径添加到系统路径。
客户端的最后一步配置是告诉Mercurial在使用SSH时使用PuTTy工具。 Mercurial可以由名为.hgrc的特定于用户的配置文件配置。在Windows上,它也可以称为Mercurial.ini。该文件位于您的主文件夹中。如果您不知道您的主文件夹是什么,只需打开命令提示符并键入echo%USERPROFILE% - 这将告诉您路径。
如果尚未设置配置,则配置文件可能不存在。所以你必须创建它。手动在主文件夹中创建文件调用.hgrc或Mercurial.ini,然后在文本编辑器中打开它。以下是我的部分内容:
[ui]
username = OJ Reeves
editor = vim
ssh = plink -ssh -i "C:/path/to/key/id_rsa.ppk" -C -agent
最后一行是键,这是你需要确保正确设置的。我们告诉Mercurial使用plink程序。这也是PuTTy,它是PuTTY程序本身在幕后所做的命令行版本。我们还添加了一些参数:
客户现在已准备好摇滚!
答案 2 :(得分:0)
安装PuTTY。
如果您使用的是Windows,请在您喜欢的文本编辑器中打开projectdir/.hg/hgrc
。编辑它看起来像这样:
[paths]
default = ssh://hg@bitbucket.org/name/project
[ui]
username = Your Name <your@email.com>
ssh = "C:\Program Files (x86)\PuTTY\plink.exe" -ssh -i "C:\path\to\your\private_key.ppk" -C -agent
如果它需要永远推送,服务器可能会试图问你一个问题(但它没有显示)。
运行:
"C:\Program Files (x86)\PuTTY\plink.exe" -T hg@bitbucket.org -i "C:\Program Files (x86)\PuTTY\plink.exe" -ssh -i "C:\path\to\your\private_key.ppk"
回答任何问题,然后再试一次。
如果您正在使用Bitbucket,请使用puttygen打开私钥,将公钥从顶部文本框中复制出来,然后将其添加到您的用户帐户:https://bitbucket.org/account/user/USERNAME/ssh-keys/