使用SSH的Composer私有存储库

时间:2015-05-07 08:38:34

标签: ssh composer-php

我想要在composer.json中包含一个私有存储库,它将私有存储库放在vendor文件夹中。使用https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md#security中的代码和SSH安全性,您需要填写一些用户特定的部分(见下文)。

"repositories": [
    {
        "type": "vcs",
        "url": "ssh2.sftp://example.org",
        "options": {
            "ssh2": {
                "username": "composer",
                "pubkey_file": "/home/composer/.ssh/id_rsa.pub",
                "privkey_file": "/home/composer/.ssh/id_rsa"
            }
        }
    }
]

问题是我和其他程序员合作,我不想在composer.json中找到特定的用户内容。有没有办法从composer.json中排除特定的用户内容?

我实际上希望作曲家在命令行内的执行期间向程序员索取个人公钥和私钥。

1 个答案:

答案 0 :(得分:3)

如果密钥通过密钥代理可用于CLI SSH进程,则在命令行上使用Composer与SSH密钥进行身份验证的存储库可以直接使用。

我的个人设置是在Windows上运行Putty和Pageant进行密钥身份验证。我将SSH会话配置为允许密钥转发,并且当登录到Linux系统时,我可以运行Composer命令以及Git命令,而无需进行其他身份验证。另一种方法是使用密钥直接在Linux上运行密钥代理。

中心部分是:如果像推或拉这样的Git命令可以与存储库一起使用,则Composer也可以工作,而无需进行身份验证。

请注意,还有一些向Composer提供身份验证数据的选项:https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md#authentication