我正在尝试使用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/