Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 流浪汉+;Puppet:无法使用专用存储库运行composer安装_Git_Ssh_Composer Php_Vagrant_Puppet - Fatal编程技术网

Git 流浪汉+;Puppet:无法使用专用存储库运行composer安装

Git 流浪汉+;Puppet:无法使用专用存储库运行composer安装,git,ssh,composer-php,vagrant,puppet,Git,Ssh,Composer Php,Vagrant,Puppet,我正在为工作中的一个项目设置流浪者+木偶。我们使用它来管理我们所有的依赖关系。一个项目具有我们创建的依赖性,它存储在私有GitHub存储库中 我已经把其他一切都安排好了。它安装正确版本的PHP,下载并安装Composer,并尝试运行Composer。我之所以说“尝试”,是因为“composer安装”步骤永远不起作用——我们必须使用“vagrant ssh”在配置好机器后进入机器,然后自己运行“composer安装” 我已经在文件中打开了SSH代理转发 要让Puppet作为一个可以访问克隆GitH

我正在为工作中的一个项目设置流浪者+木偶。我们使用它来管理我们所有的依赖关系。一个项目具有我们创建的依赖性,它存储在私有GitHub存储库中

我已经把其他一切都安排好了。它安装正确版本的PHP,下载并安装Composer,并尝试运行Composer。我之所以说“尝试”,是因为“composer安装”步骤永远不起作用——我们必须使用“vagrant ssh”在配置好机器后进入机器,然后自己运行“composer安装”

我已经在文件中打开了SSH代理转发

要让Puppet作为一个可以访问克隆GitHub存储库所需的SSH密钥的用户运行,我需要做些什么?我不希望让Vagrant将密钥复制到VM(或挂载特定目录),因为这可能不适用于所有主机操作系统(我们确实有一些人在Windows机器上开发,“~/.ssh”在那里不起作用——我想)


关于如何解决此问题,您有什么想法吗?

如果在使用composer安装时SSH密钥对计算机不可用,并且您无法提供其他方式来提供凭据以访问该存储库,那么它将无法工作

我认为你关于“不将密钥复制到机器中”的论点是不正确的,因为你确实控制了虚拟机中的操作系统。您可以在那里放置一个可用的SSH密钥


看看通过HTTPS、部署密钥或机器用户访问OAuth:我认为部署密钥是Composer的选择。

如果不复制密钥,还因为SSH密钥可能不在同一个位置,甚至在不同的开发人员机器或环境中命名相同。适用于Linux上的DevA的可能不适用于OSX上的DevB或Windows上的DevC。您应该输入一个在只读模式下适用于每个开发人员的密钥(如果您担心密钥丢失,有人可能会将错误提交推到您的存储库中),以使Composer工作。您不应尝试在计算机上查找开发人员的个人密钥。您可以让每个开发人员都给Vagrant个人SSH密钥并使用该密钥,这样每个人都可以决定手动登录或自动完成操作。即使您需要个人密钥,您也应该让开发人员将其私钥放在与
Vagrant文件
相同的目录中-这应该很容易实施,并通过
/vagrant/yourkey
访问密钥。