ssh - 使用 SSH 的 Composer 私有(private)存储库

标签 ssh composer-php

我有一个私有(private)存储库,我想将其包含在我的 composer.json 中,它将把私有(private)存储库放在供应商文件夹中。使用 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 在命令行内执行期间询问程序员的个人公钥和私钥。

最佳答案

如果 key 可通过 key 代理提供给 CLI SSH 进程,则在命令行上使用 Composer 和 SSH key 认证的存储库可以开箱即用。

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

核心部分是:如果像 push 或 pull 这样的 Git 命令确实可以与存储库一起使用,Composer 也可以使用,而无需进行身份验证。

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

关于ssh - 使用 SSH 的 Composer 私有(private)存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30095908/

相关文章:

php - 通过终端错误更新 Digital Ocean Ubuntu 中的 Composer

git - ssh 代理转发不适用于 ec2

git - 如何使用git client访问gitlab docker?

git - 如何配置私有(private) Bitbucket 存储库以便我可以在 composer.json 中包含私有(private)包?

php - 无法打开流 : No such file or directory on Homestead environment

git - 如何使用 GIT 忽略发布中的某些文件

git - 基于gitlab的composer私有(private)包被识别为git子模块

node.js - 通过 npm install 在 Docker 容器中访问私有(private) git repos

curl - 如何通过 github API 使用 ssh 身份验证?

mysql - xmalloc : cannot allocate 16 bytes copying mysql database from 1 remote to another