在 Windows Server 中构建 FTP 站点

页面创建日期 :

入门

提供在 Windows Server 中运行 FTP 服务器所需的设置步骤。

注意事项

由于仅通过建立 FTP 服务器不会加密通信内容,因此应尽可能避免在 Internet 上公开 FTP 服务器。 我们建议您在尽可能封闭的空间(如 Intranet)使用它们。 在 Internet 上发布 FTP 服务器时,建议使用 SFTP、FTPS 等。

环境

Windows Server
  • Windows Server 2019

目前,Windows Server 2008 及更高版本的 Windows Server 的设置几乎相同。

先决条件

此处介绍的内容假定以下条件。

  • 仅基本身份验证(未加密)
  • 由于它不是 SFTP,因此不使用私钥等。
  • 由于它不是 FTPS,因此不使用 SSL 等。

为 FTP 连接创建帐户

FTP 帐户将被视为 Windows 用户帐户。 因此,您需要在 Windows 上创建用户。 通过 FTP 访问的密码也使用使用 Windows 用户帐户注册的密码。

右键单击"开始"菜单,然后选择"管理计算机"。

右键单击"用户",然后选择"新用户"。

指定用于通过 FTP 连接的用户名和密码。 用户名为"FtpUser",但为提示创建,因此,在生产中创建时,请输入适合操作的用户名和密码。 某些 Windows Server 设置会将密码设置为不简单。

由于 FTP 用户不会登录到 Windows,因此选中"用户无法更改密码"和"密码无限期"。

防止用户登录到 Windows,因为创建它的用户仅用于 FTP 连接。 双击您创建的用户。

选择"所属的组"选项卡,然后删除"用户"。

如果要创建多个帐户,必须创建多个 Windows 用户帐户。

创建用于 FTP 连接的文件夹

创建使用 FTP 连接时用于上载或下载的文件夹。 您创建的是 Windows 物理文件夹。

您可以在任何位置创建它。 即使创建多个 FTP 帐户,也可以创建一个根文件夹,并在内部创建每个用户文件夹以分配权限。 (还有其他方法,但会变长,所以请爱)

在这里,我们创建"C:\FtpFolder\"。

设置允许 FTP 帐户访问文件夹中的文件的权限。 打开用于 FTP 的文件夹的属性,然后单击"安全"选项卡上的"编辑"按钮。

单击"添加"按钮。

输入帐户名称"FtpUser", 然后单击"确认 名称"按钮。 如果没有错误,请单击"确定"按钮。

选择您注册的帐户,并授予"更改"权限。

以防万一,请放置一个文件进行验证,以确保在通过 FTP 连接时连接正确。

构建 FTP 服务器

在 Windows Server 上安装 FTP 服务器角色。

运行服务器管理器。

单击添加角色和功能。

单击"下一步"。

确保选中"基于角色或基于功能的安装",然后单击"下一步"。

确保已选择要为其安装 FTP 服务器角色的服务器,然后单击"下一步"。

选中 Web 服务器 (IIS)。

将显示确认对话框,然后单击"添加功能"按钮。 添加 IIS 后,单击"下一步"。

在"选择功能"屏幕上,单击"下一步"而不执行任何操作。

单击"下一步"。

选中 FTP 服务器。 此外,由于 Web 服务器最初 处于选中状态,因此,如果不需要发布网站,请清除它。

完成后,单击"安装"按钮。

等待安装完成。 安装完成后,请关闭屏幕。

构建 FTP 站点

您仍然无法访问 FTP 站点,因为您已安装 FTP 功能。 现在,我们将构建 FTP 站点。

从"服务器管理器"中选择"工具"菜单,然后选择"Internet 信息服务 (IIS) 管理器"。 顺便说一下,IIS 也可以从其他位置打开,如"开始"菜单。

右键单击"站点",然后选择"添加 FTP 站点"。

任意设置 FTP 站点名称。 此处 为 FtpTest。 物理路径指定以前创建的 FTP 的文件夹路径 (C:\FtpFolder)。

暂时保留绑定。 由于您这次不使用 SSL,因此请选中"无"SSL。

由于身份验证是帐户所必需的,因此请仅检查"基本"。

由于您现在仅访问 FtpUser 帐户进行授权,因此请键入 FtpUser 以选择和访问指定的用户。 如果要允许多个帐户,请键入逗号分隔。 此设置稍后可从 FTP 授权 规则更改。

选中"读取"和"写入权限"。

检查防火墙

如果您正确配置了以前的设置,则不需要设置防火墙,但请确认,以防万一。

从"服务器管理器"中选择"工具"菜单,然后选择"增强安全性的 Windows 防火墙"。 (也可以从"开始"菜单等打开)

选择"入站规则",然后单击

  • FTP 服务器(接收 FTP 流量)
  • FTP 服务器安全性(接收 FTP SSL 流量)
  • FTP 服务器被动(FTP 被动流量接收)

确保存在。

重新启动 FTP 服务

安装后立即重新启动服务,因为 FTP 设置未生效。 (也可以重新启动 Windows)

从服务 重新启动 Microsoft FTP 服务

通过 FTP 检查连接(活动模式)

检查是否可以从另一台 PC 通过 FTP 访问它。 您可以使用 FTP 连接的任何工具。 图中使用 FTP 命令进行访问。 有关详细信息,请参阅 FTP 命令。 下面是一个简单的步骤。

此外,上传"C:\Temp\a.txt"文件以测试上传和下载,并将其下载到"C:\Temp\a2.txt"。

  1. 启动命令提示符(或 PowerShell)
  2. 键入 ftp 以开始使用 FTP 命令
  3. 通过 open <服务器名称> 连接到服务器
  4. 输入用户名
  5. 输入密码
  6. 使用 ls 命令查看根文件夹中的文件和文件夹列表
  7. 使用 pwd 命令检查当前当前目录
  8. 使用"put"命令上传文件
  9. 使用"获取"命令下载文件
  10. 使用"quit"关闭 FTP 连接

客户端文件夹结果

服务器文件夹的结果

包含检索信息的命令(如 ls、putget) 可能会提示您授予防火墙权限,或由防火墙超时。 这是因为在活动模式下连接 FTP 会从服务器访问客户端。 如果仍要以活动模式访问,则客户端防火墙必须允许 ftp.exe (32 位或 64 位) 或在 被动模式下连接。

通过 FTP 检查连接(被动模式)

在 Windows 中,由于 FTP 命令无法在被动模式下连接,因此请使用名为 WinSCP 的工具进行验证。 (任何可以使用被动模式的工具都可以。

首先,输入对 FTP 服务器的访问信息。

打开设置 并验证被动 模式是否处于启用状态。

确保可以连接。

关于主动模式和被动模式

我认为在网上检查主动模式和被动模式之间的区别更容易理解。 简单地说,活动模式允许服务器访问客户端任意确定的端口。 被动模式从客户端访问服务器任意确定的端口。 因此,任何模式都要求防火墙释放访问权限。

总结

现在,您可以在 Windows Server 上设置 FTP 服务器。 由于 FTP 通信当前未加密,因此 我想在另一篇文章中介绍 FTPS,它允许加密通信。

此页介绍了使用私钥的加密通信SFTP。