【问题标题】:Is it possible to use cURL to grab files via SSH?是否可以使用 cURL 通过 SSH 抓取文件?
【发布时间】:2013-12-05 16:45:34
【问题描述】:

我研究了 PHP 的 SSH2 模块,但它需要在非常臃肿的服务器上重新编译 PHP。这比我们现在想承担的风险要大得多。

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

【问题讨论】:

    标签: php curl ssh


    【解决方案1】:

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

    shell_exec("/usr/bin/scp -i private_key_identity user@host:/path/to/remote/file /local/path");
    

    【讨论】:

      【解决方案2】:

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

      exec('/usr/bin/rsync -az user@remotehost:/path/to/directory/* /path/to/local/directory/');
      

      Flag-a 将使用存档模式,有关详细信息,请参阅documentation-z 标志将压缩传输。

      rsync 也将通过SSH 传输,因此请确保您正确设置了私钥/公钥。

      【讨论】:

        猜你喜欢
        • 2011-06-08
        • 2013-04-04
        • 2017-05-10
        • 2019-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-30
        相关资源
        最近更新 更多