代码之家  ›  专栏  ›  技术社区  ›  zerkms

Mercurial,密钥验证

  •  5
  • zerkms  · 技术社区  · 14 年前

    我有这样的部分在我的 ~/.hgrc 配置文件

    [auth]
    repo.prefix = ssh://hguser@192.168.132.72/repos
    repo.key = /home/zerkms/.ssh/mercurial-repo/id_rsa
    

    但当我写:

    hg clone ssh://hguser@192.168.132.72/repos/rps .
    

    Mercurial仍然需要密码才能输入。

    我做错了什么?

    为了避免明显的问题:

    是的,指定路径中有一个有效的密钥,如果与 ssh-agent .

    我的问题是如何使用钥匙 [auth] 部分。

    2 回复  |  直到 8 年前
        1
  •  11
  •   Chris Morgan    14 年前

    auth isn't for SSH . 密钥需要以另一种方式加载。如果它只是~/.ssh/id_rsa,它将自动完成,因为它不是,您可能需要做一些事情来注册它。使用~/.ssh/id_rsa通常是最简单的方法-将 ~/.ssh/id_rsa.pub 在里面 ~/.ssh/authorized_keys 在目标机器上,你准备好了。

        2
  •  10
  •   Åsmund    8 年前

    以下内容适用于我(可能是问题提出后的新设置):

    添加到HGRC:

    [ui]
    ssh = ssh -C -i ~/.ssh/id_rsa-mercurialkey
    

    -c启用压缩,-i指定标识文件。如果密钥已加载到ssh代理中,则不会再次要求我输入密码短语。