我正在尝试使用satisf(http://getcomposer.org/doc/articles/handling-private-packages-with-satis.md)
来托管私有作曲程序存储库通过http协议可以正常工作。
我希望使用ssh连接来保护它,如安全部分(http://getcomposer.org/doc/articles/handling-private-packages-with-satis.md#security)
中所述但在使用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
我已经生成了密钥对
我在serve服务器上将authorized key添加到authorized_keys文件。
我可以使用ssh连接到服务器而无需输入密码,因此密钥正常工作。
我错过了什么或做错了什么?
更新 我也安装了ssh2模块扩展。它出现在命令php -m |的输出上grep ssh2
答案 0 :(得分: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)