2012-01-16 40 views
1

我已经研究过PHP的SSH2模块,但它需要在非常臃肿的服务器上进行PHP重新编译。这远比我们现在要承担的风险要多得多。是否可以使用cURL通过SSH抓取文件?

我可以使用cURL通过SSH获取几个文件吗?我做了一些谷歌搜索,并找到一些来源,但没有100%清楚这是否可能。

回答

2

我不确定cURL,但如果您不想重新编译但服务器已安装ssh客户端,则可以拨打电话scp进行系统调用。当然,如果你在本地和远程主机之间都有SSH密钥,它将会工作得最好。

shell_exec("/usr/bin/scp -i private_key_identity [email protected]:/path/to/remote/file /local/path"); 
1

CURL不会工作不幸。您可以像迈克尔建议的那样使用scp,或者如果您需要定期复制文件,我会建议rsync,因为它只会传输文件内容之间的差异。

exec('/usr/bin/rsync -az [email protected]:/path/to/directory/* /path/to/local/directory/'); 

标志-a将使用归档模式,看到documentation了解更多详情。 -z标志将压缩传输。

rsync也将通过SSH转移,所以请确保您的私钥/公钥设置正确。

相关问题