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

通过http协议(protocol),它可以正常工作。

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

但是在使用ssh2.sftp://协议(protocol)进行连接时出现错误。

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

我已经生成了密钥对

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

我可以通过ssh连接到satis服务器,而无需输入pass,因此密钥可以正常工作。

我在想什么或做错了什么?

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

最佳答案

自己找到解决方案:

我正在使用带密码的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)

关于ssh - 满意-ssh2.sftp协议(protocol)错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19831391/

10-13 04:47