在Windows实例中搭建FTP站点

当您需要远程连接Windows实例进行文件传输时,可以通过搭建FTP站点实现。本文将介绍如何在Windows实例中搭建FTP站点。

准备工作

手动搭建FTP站点,ECS实例必须满足以下条件:

  • 实例已分配公网IP地址或绑定弹性公网IP(EIP)。具体操作,请参见绑定EIP

  • 操作系统:Windows Server 2008及以上系统。

步骤一:添加IIS以及FTP服务角色

在创建FTP站点前,需确保实例内已添加IIS及FTP服务。如果还没有添加,请参见以下操作步骤,添加IIS及FTP服务。

  1. 远程连接Windows实例。

    具体操作,请参见通过密码认证登录Windows实例

  2. 在Windows桌面的左下角单击win图标图标,然后找到并单击服务器管理器

  3. 在顶部导航栏,单击管理(M) > 添加角色和功能

    IIS win2016

  4. 在弹出的对话框中,保持默认配置并单击下一步(N)选择服务器角色页面。

  5. 选中Web 服务器(IIS),在弹出的对话框中单击添加功能,然后单击下一步(N)

    ftp2

  6. 保持默认配置并单击下一步选择角色服务页面。

  7. 选中IIS管理控制台以及FTP 服务器,单击下一步(N)

    ftp3

  8. 单击安装(I),然后等待安装完成后,单击关闭

(可选)步骤二:创建用于访问FTP站点的Windows用户

创建Windows用户,用于访问FTP站点时的身份验证。如果您只需要匿名用户(即仅提供用户名anonymousftp的用户)访问FTP站点,可以跳过本步骤。

  1. 在Windows桌面的左下角单击image.png图标,然后Windows 管理工具 > 计算机管理

  2. 在左侧导航栏,选择系统工具 > 本地用户和组 > 用户

    ftp4

  3. 在页面右侧的操作列,单击更多操作,然后单击新用户(N)...

    ftp5具体配置说明如下:

    • 用户名:本示例中创建一个用户名为ftptest的Windows用户。

    • 密码以及确认密码:输入您自定义的密码信息。

      说明

      密码必须包括大写字母、小写字母和数字,否则将提示无法通过密码策略。同时,请您妥善保管密码信息,防止密码泄露带来的数据安全风险。

    • 密码相关设置:选中密码永不过期(W)

  4. 单击创建(E),然后关闭新用户对话框。

步骤三:设置共享文件的权限

您需要创建一个文件夹作为FTP站点共享文件的入口,该文件夹需要开放访问、修改等权限。后续各客户端访问该FTP站点时,文件传输均基于该文件夹完成。具体操作说明如下:

  1. 在Windows实例的磁盘中,创建一个供FTP站点使用的文件夹。

    本示例中,在C盘下创建一个名为ftp的文件夹。

  2. 右键单击ftp文件夹,然后单击属性(R)

  3. 单击安全页签,然后单击编辑(E)...

  4. 单击添加(D)...

  5. 在弹出的对话框中,输入对象名称ftptest,然后单击检查名称(C)

  6. 检查名称无误后,单击确定

  7. 组或用户名区域,单击新添加的用户名ftptest,然后在ftptest 的权限区域设置权限后,单击确定

    本示例中允许所有权限。您可以根据实际业务对权限的要求,自行设置权限为允许或拒绝。username

步骤四:添加并设置FTP站点

  1. 在Windows桌面的左下角单击win图标图标,然后找到并单击服务器管理器

  2. 在顶部导航栏,单击工具(T) > Internet Information Services(IIS)管理器

    ftp8

  3. 在左侧导航栏,选择Windows实例主机名 > 网站,然后在右侧操作列,单击添加 FTP 站点

    ftp9

  4. 在弹出的对话框中,设置站点信息,然后单击下一步(N)

    10具体配置说明如下:

    • FTP站点名称:自定义名称。例如ftptest

    • 内容目录:FTP所需的共享文件夹。本文对应的是C盘中的ftp文件夹。

  5. 设置IP地址以及SSL证书,然后单击下一步(N)

    绑定IP和SSL具体配置说明如下:

    • IP地址:保持默认配置。

    • SSL:不同配置项对应的说明如下。本示例中选择无 SSL(L),即不需要SSL加密。如果您需要保证数据传输安全且已拥有SSL证书,请根据实际的数据传输安全要求,设置为允许 SSL(W)需要 SSL(R)

      • 无 SSL(L):不需要SSL加密。

      • 允许 SSL(W):允许FTP服务器支持与客户端的非SSL和SSL连接。

      • 需要 SSL(R):需要对FTP服务器和客户端之间的通信进行SSL加密。

    • 其他配置项保持默认设置。

  6. 设置身份验证和授权信息,然后单击完成(P)

    身份和授权具体配置项说明如下:

    • 身份验证:不同选项的说明如下所示。本示例中仅选择基本(B),后续将通过已创建的ftptest用户访问FTP站点。如果您对数据传输安全没有要求,可以设置为匿名(A),使匿名用户支持直接访问FTP站点。

      • 匿名(A):允许任何仅提供用户名anonymousftp的用户访问内容。

      • 基本(B):需要用户提供有效用户名和密码才能访问内容。由于基本身份验证通过网络传输未加密的密码,因此请仅在确认客户端和FTP服务器之间的连接是安全的情况下(例如,使用安全套接字层SSL时)使用此身份验证方法。

    • 授权:允许访问的范围说明如下所示。本示例中选择指定用户,并在对应的文本框中输入ftptest

      • 所有用户:所有用户(不论是匿名用户还是已标识的用户)均可访问FTP站点对应的共享文件夹。

      • 匿名用户:匿名用户可访问FTP站点对应的共享文件夹。

      • 指定角色或用户组:仅特定角色或用户组的成员才能访问FTP站点对应的共享文件夹。需要在对应的文本框中输入角色或用户组。

      • 指定用户:仅指定用户才能访问FTP站点对应的共享文件夹。需要在对应的文本框中输入用户名。

    • 权限:选中读取写入权限。

    完成后可以在IIS管理器查看到成功搭建的FTP站点。13

  7. 配置FTP站点的防火墙。

    1. 在IIS管理器中,双击FTP站点名称ftptest,进入FTP站点的主页。

    2. 双击FTP 防火墙支持

      FTP防火墙支持

    3. 防火墙的外部 IP 地址(E)下的文本框中,输入Windows实例的公网IP地址

    4. 在页面右侧操作列,单击应用,然后在弹出的对话框中单击确定

步骤五:设置安全组及防火墙

当您在Windows实例中搭建好FTP站点后,需要在实例所属的安全组中,添加入方向规则,放行FTP服务器所需的21端口以及FTP服务器被动模式可能占用的端口范围1024~65535。

说明

端口范围请根据实际需求进行设置,建议您设置高位端口,本示例中设置端口范围为29000~30000。

  1. 在Windows实例所属的安全组中,添加入方向规则,放行21端口以及29000~30000端口。

    具体操作,请参见添加安全组规则

    image

    说明

    关于安全组的更多配置信息,请参见安全组应用案例常用端口

  2. 可选:配置Windows实例内部的防火墙。

    Windows实例内部的防火墙默认为关闭状态。如果您的防火墙为开启状态,则需要放行TCP 21端口与29000~30000端口用于FTP服务。

    具体操作,请参见设置 ECS 实例远程连接防火墙

    其他防火墙设置,请参见微软官方文档

步骤六:客户端测试访问FTP站点

Windows的文件夹目录、命令行工具、浏览器或者是第三方FTP连接工具均可用来测试FTP服务器。本示例以本地Windows主机作为客户端,通过文件夹目录测试访问FTP站点。

  1. 在本地Windows客户端中,打开文件夹目录,在文件夹路径中,输入ftp://FTP站点的公网IP地址:21进行访问。

    以Windows 10系统为例,如下图所示:Windows文件目录

  2. 在弹出的登录身份对话框,完成登录信息设置,然后单击登录

    本示例中,使用ftptest用户名及对应的密码信息,登录FTP站点。登录FTP站点当您通过Windows文件夹目录访问FTP站点时,如果Windows自带的IE浏览器没有开启使用被动FTP,将无法正常访问FTP站点并返回错误码200501。您可以参考以下步骤,先开启IE浏览器的使用被动FTP,然后再次尝试访问FTP站点。

    1. 在本地Windows客户端中,打开IE浏览器。

    2. 在页面右上角,单击IE工具图标图标,然后单击Internet 选项

    3. 单击高级页签,然后在设置区域,选中使用被动 FTP (用于防火墙和 DSL 调制解调器的兼容)使用被动FTP

    4. 单击应用,然后单击确定

    成功访问FTP站点对应的共享文件夹ftp后,您可以新建一个测试文件夹test新建测试文件夹之后您可以重新登录Windows实例,查看C盘的ftp文件夹中新增了test文件夹,表示FTP站点搭建成功且可以进行文件数据传输。实例ftp文件夹

后续步骤

如果您想基于FTP协议来管理存储在OSS上的文件,您可以安装OSS FTP。具体操作,请参见安装OSS FTP

OSS FTP接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作。