ftp 程序包 - Amazon Linux 2023
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

ftp 程序包

从 AL2023 开始,AL2 中的 ftp 程序包在 Amazon Linux 中不再提供。此决定是我们对安全性、可维护性和现代软件开发实践持续承诺的一部分。在迁移至 AL2023 的过程中(或之前),我们建议将任何对传统 ftp 程序包的使用迁移至其替代方案之一。

背景

传统的 ftp 程序包在上游已多年未得到积极维护。其源代码的最后一次重要更新发生在 2000 年代初期,且原始源代码存储库已不可用。尽管一些 Linux 发行版提供了安全漏洞补丁,但该代码库基本上仍处于无人维护状态。

建议的替代方案

AL2023 为 FTP 功能提供了几种现代的、积极维护的替代方案:

lftp(在 AL2 和 AL2023 中可用)

一个复杂的文件传输功能程序,支持 FTP、HTTP、SFTP 和其他协议。它比传统的 ftp 客户端提供更多功能,并且得到积极维护。

安装命令:dnf install lftp

curl(在 AL2 和 AL2023 中可用)

一个多功能命令行工具,用于通过 URL 传输数据,支持 FTP、FTPS、HTTP、HTTPS 和许多其他协议。

在 AL2023 中通过 curl-minimal 程序包默认提供。如需更广泛的协议支持,可选择使用 curl-full 升级至 dnf swap curl-minimal curl-full

wget(在 AL2 和 AL2023 中可用)

一个用于从网络下载文件的非交互式命令行实用程序,支持 HTTP、HTTPS 和 FTP 协议。

安装命令:dnf install wget(未在所有 AL2023 映像中默认安装)

sftp(在 AL2 和 AL2023 中可用)

一种通过 SSH 运行的安全文件传输功能协议,提供加密的文件传输。

作为 OpenSSH 程序包的组成部分默认提供。

迁移注意事项

如果您的应用程序或脚本依赖传统的 ftp 客户端,请考虑以下迁移方法:

  1. 更新脚本以使用现代替代方案:修改您的脚本以使用 lftpcurlwget、或 sftp 替代传统的 ftp 客户端。

  2. 检查程序包依赖关系:某些应用程序可能在其程序包元数据中将 ftp 程序包列为依赖项,即使它们内部早已迁移使用现代协议。在这些情况下,即使缺少 ftp 程序包中的 /usr/bin/ftp,应用程序仍可能在 AL2023 上正常运行。请检查应用程序的实际要求,而非仅依赖声明的依赖关系。

  3. 更新应用程序依赖关系:对于您维护的仍声明依赖 ftp 程序包但实际并未使用的应用程序,请更新程序包元数据以移除此不必要的依赖项。

安全考虑因素

FTP 协议以明文形式传输数据,包括身份验证凭证。对于安全敏感型应用程序,我们强烈建议使用加密替代方案(例如 SFTP 或 HTTPS),这些方案均受推荐替代工具的支持。