在 Windows Azure 上搭建 FTP,不知道为什么,要么是用户无法登陆,要么是用户名根本无法通过,要么是通过后无法正确读取出列表。

FTP fail
FTP fail

一开始一直不知道为什么,后来有一天,朋友给了我一个解决方法。http://diaosbook.com/Post/2013/8/24/config-ftp-on-windows-azure-vm。一开始以为找到了救星,但是经过一晚上一天的实验,发现我这无法连接的情况根本没有那篇博文那么复杂,本来只要一个晚上就能搞定,但是因为一个非常非常简单的问题,导致花了一天才把它弄好。

下面我详细介绍一下如何在 Windows Azure 上搭建 FTP。

本文使用的是 Azure 上的 Windows Server 2012 R2 Datacenter,方法同样适用于其他系统。当然,不是在 Azure 上也是这样搭建的,这里用 Azure 举例。

小图点击查看大图!!

1.首先,在服务器管理器中点击管理,选择添加角色和功能

添加角色和功能
添加角色和功能

2.在服务器角色中选中 Web 服务器(IIS),然后一路下一步,直到安装完成,博主已经把这些都装了,其实只要勾选了 FTP 就行了,不过大部分情况都会把其他 Web 服务器也安装了;

安装 FTP
安装 FTP

3.在 C 盘新建一个文件夹,作为 FTP 的目录,这里我建立 C:\WebSites\FTP 作为 FTP 目录(对于为什么不放在 D 盘,因为 Azure 的 D 盘是临时盘,随时都可能丢失文件);

4.打开 IIS,在网站上右键,新建 FTP 站点

5.照下图设置,需要选择是否启用匿名登陆,直到完成;

FTP 设置
FTP 设置
FTP 设置
FTP 设置

接下来有两种选择,一种是允许匿名登陆,一种只能通过用户名密码登录

a.允许匿名登陆(不推荐,毕竟只要知道你的域名谁都能登陆了)

匿名登陆
匿名登陆

b.通过用户名密码登录(推荐

口令登陆
口令登陆

6.接下来我们设置访问权限,用 Win+R 组合键打开运行,输入 lusrmgr.msc,选择用户,在右边点击新用户,建立一个新用户,然后双击该新用户,选中隶属于选项卡,把默认的 Users 组删除,并加入 Guests 组;

这里需要注意,因为博主就在这里浪费了近一天时间:用户名千万不要用 FTP,用 FTP 作为用户名将导致后面无法登陆!!!

不要使用 FTP 作为用户名
不要使用 FTP 作为用户名
隶属于
隶属于

7.回到 IIS,在刚才建立的 FTP 右边选择编辑权限,选中安全选项卡,点击编辑添加,添加上一步创建的用户,例如 FTP,权限勾选允许一栏的除完全控制外所有方框;

设置权限
设置权限

8.在刚才建立的 FTP 右边选择基本设置,按下图方法选择,输入前面创建的用户和密码,完成后测试设置,发现已具有访问权限;

基本设置
基本设置
基本设置测试
基本设置测试

9.到这步为止,对 Azure 虚拟机的就设置完成了,但是 Azure 默认是没有开放 FTP 的外部端口的,现在我们要到 Azure 虚拟机设置页面去打开 FTP 的 21 端口,具体方法如下;

开启外部端口
开启外部端口
开启外部端口
开启外部端口

点击下方的添加按钮,选择添加独立终节点,再按下图设置即可

添加 21 端口
添加 21 端口

10.现在一个 FTP 站点就搭建完成了,可以通过 CMD 或者 Flashxp 来登陆 ftp。通过 Flashxp 登陆 FTP,如果发现无法登陆,请关闭被动模式。

这里是最重要的一点!登陆时,用户名要以域|用户名的形式登陆,无论是用匿名登陆还是账户登陆,即匿名用 xxx.chinacloudapp.cn|FTP 作为登陆名,账户用 xxx.chinacloudapp.cn|FTP007 作为登录名,这样才能正常登陆,否则登陆失败。

如果有任何问题,欢迎留言!

遇到 150 无响应?查看解决方案:FTP遇到150无响应

匿名登陆截图:

228-12

228-13

账号登陆截图:

228-15

228-16


原创文章,转载请以链接形式注明出处:https://blog.ttionya.com/article-228.html