使用SSH的Composer私有存储库

Kev*_*vin 6 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"
            }
        }
    }
]
Run Code Online (Sandbox Code Playgroud)

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

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

Sve*_*ven 3

如果密钥可通过密钥代理提供给 CLI SSH 进程,则在命令行上使用 Composer 与经过 SSH 密钥身份验证的存储库可以开箱即用。

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

核心部分是:如果像 Push 或 Pull 这样的 Git 命令适用于存储库,那么 Composer 也将适用,无需进行身份验证。

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