Php 向特定用户验证专用vcs

Php 向特定用户验证专用vcs,php,git,ssh,composer-php,gitblit,Php,Git,Ssh,Composer Php,Gitblit,我正在使用gitblit自托管我的git存储库。 我将它们添加到我的composer文件中: "repositories": [ { "type": "vcs", "url": "ssh://user@my.gitblit.com:29418/foo/repo.git" } ] 它工作得很好,除了我被要求提供每个回购协议的密码。 我想知道我如何认证。我可以输入用户名和密码,但不能输入git。 我发现我可以使用密钥进行身份验证,但是运行instal

我正在使用gitblit自托管我的git存储库。 我将它们添加到我的composer文件中:

"repositories": [
    {
        "type": "vcs",
        "url": "ssh://user@my.gitblit.com:29418/foo/repo.git"
    }
]
它工作得很好,除了我被要求提供每个回购协议的密码。 我想知道我如何认证。我可以输入用户名和密码,但不能输入git。 我发现我可以使用密钥进行身份验证,但是运行install/update命令的用户是
www-data
,而不是
user
,他们有权读取存储库


如何对此进行身份验证,以便在无人参与的情况下运行composer?

您可以告诉composer每个存储库使用什么密钥

发件人:


我在哪里能拿到钥匙?我在gitblits接口上没有看到任何内容。您必须生成一个ssh密钥并将其添加到gitblit的授权密钥中。请参阅此处了解更多信息:它不起作用。如果我添加它并运行composer update,它会询问
www-data
的密码,另外
user
只存在于gitblit中,而不存在于服务器上,我想这是另一个问题。
{
  "repositories": [{
    "type": "composer",
    "url": "ssh2.sftp://example.org",
    "options": {
      "ssh2": {
        "username": "composer",
        "pubkey_file": "/home/composer/.ssh/id_rsa.pub",
        "privkey_file": "/home/composer/.ssh/id_rsa"
      }
    }
  }]
}