【问题标题】:hg pull with multiple users多个用户的 hg pull
【发布时间】:2016-12-14 22:17:14
【问题描述】:

我将一个 mercurial 存储库克隆到 Ubuntu 服务器上,以便在那里部署项目。一切对我来说都很好,但是当我的同事尝试使用“hg pull”更新服务器代码时,它会使用我的凭据进行拉取。

让多人更新服务器的最佳方式是什么?我现在能想到的唯一方法是在存储库中创建一个我们都知道密码的通用用户。

在服务器上,我们都有属于同一组的自己的用户帐户。

编辑:我想我也可以指定网址:“hg pull https://user@server.com/project”有效,但这仍然有点乏味

【问题讨论】:

    标签: ubuntu mercurial


    【解决方案1】:

    您确实应该在存储库服务器上创建一个普通用户,该用户被授予访问该存储库的权限。您最好还允许通过密钥从您部署项目的服务器通过密钥对存储库进行 ssh 访问。这样部署服务器上的用户无需任何密码就可以从存储库服务器中提取数据

    您可以通过安装 hg-ssh 并适当地编辑其 .ssh/authorized_keys 文件来限制该用户在存储库服务器上的 ssh 访问:

    command="/home/repository-user/bin/hg-ssh * hg-repos/*",无端口转发,无 X11 转发,无代理转发 ssh-rsa AAAAB3Nz...aS8JqGh4Q== someone@example.com (Max Mustermann)

    您可以通过这种方式轻松地允许其他人或服务器访问该存储库:只需让他们也生成一个密钥对。并将其公钥安装在存储库服务器上(共享)存储库用户的 authorized_keys 文件中。只需通过将允许的 ssh 命令限制为 hg-ssh 来限制所有远程用户使用任何 shell,如上所示。

    【讨论】:

    • 不是我希望的答案,但我想没有帮助。感谢 hg-ssh 的提示,我会在设置时看看它。 (由于缺乏代表,我在网站上的第一个问题,无法给你一个可见的 +1)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    相关资源
    最近更新 更多