我想做什么
如何在生产服务器上克隆 git 存储库,而无需提供帐户密码和 SSH 密钥的密码?
也许我问的是不可能的。对于密码问题,我可以生成密钥而不使用任何密码,但不确定这样做有多安全。
我目前的工作
我使用账户的用户名和密码通过 SSH 连接到我的服务器。我在服务器上生成一个 SSH 密钥(然后将其作为经过身份验证的密钥添加到我的 Github 帐户中)。每次我从远程存储库提取数据时,我都必须输入密码。
这种方法的问题在于,如果我想让其他人在生产服务器上提取最新版本的 repo,他们将需要用户及其密码以及 SSH 密钥的密码。
答案1
如果您唯一担心的是人们是否能够从存储库中克隆或提取,那么您可以通过 Web 服务器/HTTP 公开裸存储库。Git 手册 - 设置公共存储库
下一页还有推论:Git 手册 - 设置私有存储库如果您想授予其他人推送访问权限。
如果您不想为每个用户设置单独的帐户,则可以使用名为 Gitosis 的工具。在 gitosis 中,有一个 authorized_keys 文件,其中包含有权访问存储库的每个人的公钥,然后每个人都使用“git”用户进行推送和拉取。