使用SSH创建Composer私有仓库

8
我有一个私有存储库,想将其包含在我的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文件中排除特定用户内容?
实际上,我希望composer在命令行执行时要求程序员输入其个人公钥和私钥。
1个回答

3

如果通过SSH密钥进行身份验证的存储库可以通过密钥代理将密钥提供给CLI SSH进程,那么可以直接在命令行上使用Composer。

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

关键部分是:如果Git命令(如push或pull)可以与存储库一起使用,则Composer也将正常工作,无需进行身份验证。

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


谢谢!我会尝试使用你的设置。 - Kevin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接