如何为单个 hg 存储库设置多个 ssh 身份?
我正在为我的 Mercurial 存储库使用 ssh 公钥身份验证。所以我有:
[ui]
ssh = ssh -i ~/.ssh/id_rsa -C
在我的 .hgrc 中。这工作正常,并允许我推送/拉取到经过 ssh 验证的存储库。但是,我希望能够推送/拉取到另一个需要不同身份的存储库。如何配置我的 .hgrc 文件,以便将身份绑定到特定路径。我想我想要这样的东西:
[ui]
one.prefix = someserver.com
one.ssh = ssh -i ~/.ssh/id_rsa -C
two.prefix = otherserver.com
two.ssh = ssh -i ~/.ssh/otherid_rsa -C
I am using ssh publickey authentication for my mercurial repository. So I have:
[ui]
ssh = ssh -i ~/.ssh/id_rsa -C
in my .hgrc. This works fine and allows me to push/pull to an ssh-authenticated repo. However, I want to be able to push/pull to another repo that requires a different identity. How can I configure my .hgrc file so the identity is tied to a particular path. I guess I'd want something like:
[ui]
one.prefix = someserver.com
one.ssh = ssh -i ~/.ssh/id_rsa -C
two.prefix = otherserver.com
two.ssh = ssh -i ~/.ssh/otherid_rsa -C
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在您的
~/.ssh/config
中,添加使用
ssh
连接到主机someserver 的任何人(包括
或hg
和交互使用) .comotherserver.com
将使用指定的身份文件。请参阅
ssh_config
对于其他选项。In your
~/.ssh/config
, addand anybody (including
hg
and interactive use) usingssh
to connect to hostssomeserver.com
orotherserver.com
will use the specified identity files.See
ssh_config
for other options.您可以使用 ssh 自己的工具:ssh-agent 来完成此操作。
那么您根本不需要 ssh 识别
.hgrc
的[ui]
部分中的相关任何内容。或者你可以这样做:
但是 ssh-agent 在很多方面都很有用,值得把它放在你的登录脚本中并收工。
You do it using ssh's own tool: ssh-agent.
Then you don't need ssh identify related anything in your
.hgrc
's[ui]
section at all.Alternately you could do:
but ssh-agent is useful in so many way's it's worth putting it your login scripts and calling it a day.