FTP/SFTP初学者指南

将文件移入和移出您的网络托管服务器的技能对于有抱负的网站所有者来说是一项基本技能。一开始,你们中的许多人可能会依赖控制面板中的文件管理器。虽然这很方便,但文件传输协议 (FTP)或安全文件传输协议 (SFTP)提供了更多选项。那么,什么是 FTP 和 SFTP?让我们更详细地了解它们。

FTP/SFTP初学者指南-南华中天

什么是文件传输协议 (FTP)?

FTP 是一种标准网络协议,用于在专用网络或 Internet 上的计算机之间交换文件。它自 1971 年以来一直存在,使其成为为此目的开发的首批协议之一。令人印象深刻的是,它经受住了时间的考验。

什么是安全文件传输协议 (SFTP)?

SFTP 是更安全的 FTP 版本。它使用安全外壳 (SSH)加密来帮助保护您的登录凭据和传输数据。它几乎与 FTP 相同。但是,SFTP 使用不同的协议,因此您不能使用标准 FTP 客户端与 sFTP 服务器通信。您也无法使用仅支持 SFTP 的客户端连接到 FTP 服务器。

FTP 和 SFTP 是如何工作的?

FTP 和 SFTP 都是客户端-服务器协议,它们依赖于客户端和服务器之间的通信通道。

FTP 是如何工作的?

FTP 在客户端-服务器架构上工作,并使用单独的控制和数据连接。FTP 用户可以使用明文登录协议(通常是用户名和密码)进行身份验证。但是,某些服务器确实允许匿名连接。

FTP 可以在主动(默认)和被动模式下运行。在主动模式下,FTP 客户端从其端口 20 连接到服务器的端口 21。在被动模式下,两个端口都开放用于通信。您的网络防火墙需要正确配置,以便主动和被动模式都能正常工作。

SFTP 是如何工作的?

SFTP 是独立的,通常与 SSH 打包在一起,同样可以通过安全连接工作。关键区别在于 SFTP 为凭据和数据本身添加了加密。不要将 SFTP 与 FTPS 混淆,后者是通过 SSL 运行的 FTP,这是一种不同于 SSH 的安全层。

如何为您的网站使用 FTP / SFTP?

虽然您可以从命令行界面运行 FTP 和 SFTP,但使用 FTP 客户端应用程序要方便得多。周围有许多合适的 FTP 应用程序。我的首选是Filezilla,自 2001 年以来可用,它是免费的,并且适用于大多数平台。

1. 使用 Filezilla FTP 应用程序

前往 Filezilla 网站并下载您需要的版本。不同平台有单独的安装程序。下载后,您可以启动安装文件并按照说明进行操作。请注意,它会试图让您安装一些英国媒体报道软件——但您可以拒绝该提议。

接下来,启动应用程序。

对于大多数连接,您需要输入三项信息:

  • 主持人,
  • 用户名和
  • 密码。

您的虚拟主机通常会提供这些。如果您有虚拟主机帐户,您的虚拟主机将通过电子邮件或通过虚拟主机控制面板在线向您提供这些设置。

连接到服务器

如果这是您的帐户第一次使用 FTP,您可能需要创建一个新的 FTP 用户。如果您要连接到不受您控制的服务器,则需要联系服务器管理员。

如果您有 SFTP 连接而不是 FTP 连接,请按照上述方法填写您的主机和用户名。输入您的密码(如果适用)或“无”作为密码。接下来,点击“连接”按钮。

主显示区域分为两部分。左边一台是您的本地机器,右边是远程服务器。显示面板几乎与 Windows 文件管理器相同。拖放您想要移入或移出Web 服务器的任何内容。

2. 命令行 FTP

即使您不希望使用像 Filezilla 这样的专用 FTP 应用程序,您也需要一个媒介来连接到您的服务器。

视窗

例如,在 Windows 中,您可以通过键入以下命令从命令行使用 FTP 指令:

ftp <主机名/IP地址>

苹果电脑

在 Mac 上,您可以使用内置的 FTP 应用程序。

  • 单击您的 Finder 图标,
  • 选择“开始”,然后选择“连接到服务器”。
  • 输入服务器地址和
  • 点击“连接”。

无论选择哪种方法,您都需要输入用户名和密码才能完成连接。如果您对默认的 Mac FTP 应用程序不满意,可以下载并安装其他应用程序。

基本命令

然而,在连接之后,事情变得更加复杂。与所有命令行界面一样,良好的记忆力是必须的。以下是一些基本的命令:

上传文件 - ftp> put filename

显示当前目录 - pwd

更改目录 - cd <目录名称>

列出目录内容 - ls

下载所有HTML文件 – mget *.html

结束连接 - 关闭

重新连接到服务器 – 打开 ftp.

关于 FTP / SFTP 的最终想法

如果您要创建更新网站的脚本或需要传输大量文件,基本 FTP 命令会很有帮助。但是,除非您反对安装新应用程序,否则我强烈建议您使用 FTP 应用程序而不是命令指令。