1

我正在尝试使用 satis 托管私有作曲家存储库(http://getcomposer.org/doc/articles/handling-private-packages-with-satis.md

它通过http协议工作正常。

我想按照安全部分(http://getcomposer.org/doc/articles/handling-private-packages-with-satis.md#security)中所述使用 ssh 连接来保护它

但是使用 ssh2.sftp:// 协议连接时出错。

Composer\Downloader\TransportException]                                                                                         
The "ssh2.sftp://192.168.10.30/packages.json" file could not be downloaded: Error starting up SSH connection(-43): Failed getting banner

failed to open stream: operation failed

我已经生成了密钥对

我将 pub 密钥添加到了 satis 服务器上的 authorized_keys 文件中。

我可以在不输入密码的情况下通过 ssh 连接到 satis 服务器,因此密钥可以正常工作。

我错过了什么或做错了什么?

更新 我还安装了 ssh2 模块扩展。它出现在命令 php -m | 的输出中。grep ssh2

4

1 回答 1

1

自己找到解决方案:

我正在使用带密码的 ssh 密钥对。显然 ssh2.sftp 不喜欢这样。生成没有密码的新密钥对。

其次需要使用根目录的完整路径。例如:ssh2.sftp://192.168.10.30/home/[用户名]/path/to/location/packages.json

来源:http ://us3.php.net/manual/en/function.ssh2-sftp.php#94651 )

于 2013-11-08T07:03:38.127 回答