我将一个mercurial存储库克隆到Ubuntu服务器以在那里部署项目。一切都适合我,但当我的同事尝试使用“hg pull”更新服务器代码时,它使用我的凭据进行拉动。
让多人更新服务器的最佳方法是什么?我现在能想到的唯一方法是在存储库中创建一个公共用户,我们都知道密码。
在服务器上,我们都拥有属于同一组的自己的用户帐户。
编辑:我想我也可以指定网址:“hg pull https://user@server.com/project”有效,但这仍然有点乏味
答案 0 :(得分:0)
您确实应该在存储库服务器上创建一个用户,以便获得对该存储库的访问权限。优选地,您还允许通过来自部署项目的服务器的密钥通过密钥访问存储库。这样,部署服务器上的用户可以从存储库服务器中提取而无需任何密码
您可以通过安装hg-ssh并适当地编辑其.ssh / authorized_keys文件来限制该用户的存储库服务器上的ssh访问:
command =“/ home / repository-user / bin / hg-ssh * HG-回购/ *”,没有端口转发,无-X11-转发,没有代理转发 ssh-rsa AAAAB3Nz ... aS8JqGh4Q == someone@example.com(Max Mustermann)
您可以通过这种方式轻松地允许其他人或服务器访问该存储库:只需让它们生成密钥对。并将其公钥安装在存储库服务器上(共享)存储库用户的authorized_keys文件中。如上所示,通过将允许的ssh命令限制为hg-ssh,简单地限制所有远程用户使用任何shell。