使用 Chef 将 zip 文件从远程机器复制到远程机器

Copying zip file from remote machine to a remote machine using chef

我正在尝试复制一个 zip 文件,我想在 remote_file[=15= 的源属性中提供其路径] 资源。但是当我给出路径时它给出了一个错误 IPADDR:PORT/xyz/abc/a.txt" 不是 remote_file 的有效 source 参数。source 必须是绝对 URI 或 URI 数组 . 我想知道有没有办法提供用户名和密码以及来源??? 我通过将文件保存在 apache 的根文件夹 /var/www/ 然后使用 https 协议来实现这一点 但我希望在任何位置都有一个文件时实现这一点。

要使用 Chef 资源 remote_file 访问远程文件,必须可以使用有效的 URI 从本地计算机访问该文件。知道了,我认为你有两种可能的实现方式:

  1. 使用您希望的协议共享文件。您可以使用 http(使用网络服务器);你可以使用ftp,你可以使用nfs,你可以使用samba...这些共享协议中的大多数都允许身份验证,因此你可以控制对文件的访问。

  2. 您可以使用 scp 复制文件。在 this question 中有一个巧妙的实现。如果您想避免在您的食谱中包含敏感信息,我建议您使用加密数据包来管理该信息。

需要说明的是,remote_file 资源用于通过 HTTP 下载远程内容 ,而不是 SSH 或其他任何方式。