做本科生助教,老板让配置一个FTP传资料交作业,找了一台Windows服务器捣鼓,开始按网上教程自己配置特别麻烦,何西西说用Filezilla比较方便,就去Filezilla官网下载了Filezilla Server,本来以为会很轻松搞定,没想到还是碰到一堆坑,记录下来方便以后查阅。

服务器:Windows Web Server 2008 R2,64位

坑1:安装Filezilla Server报错 "could not load TLS network. Aborting start of administration interface"

原因:根据这个Filezilla  Forums里这个帖子https://forum.filezilla-project.org/viewtopic.php?t=39838讨论的,服务器没装补丁KB2533623。

出坑:去微软官网下载补丁,根据自己服务器型号选,我选了Update for Windows Server 2008 R2 x64 Edition (KB2533623),补丁装好以后安装Server不再报错。

坑2:打开Filezilla以后面板里红字显示"FTP over TLS is not enabled, users cannot securely"

原因:未启用TLS模式。

出坑:

打开Settings

选FTP over TLS settings,勾选Enable FTP over TLS support,然后点击中间Generate new certificate...按钮

空白处都可以随便填,注意Common name (Server address)那里填127.0.0.1就行了,下面给密钥和证书选一个保存的位置,然后点最下方Generate certificate

然后在Key password填个密钥密码,随便填一个用不到的,最后点击左下OK,再打开Filezilla就不会有错误提示啦~~

上面两个坑解决以后,就可以按照网上各种教程添加用户,分配文件夹访问权限了,基本配置参考《FileZilla怎么用 FileZilla配置FTP服务图文详解》,Settings里每一项的具体作用参考《免费ftp服务器FileZilla Server配置》,大部分都默认设置就行了。

坑3:服务器本地可以访问FTP,其他机器访问连输用户名和密码的界面都弹不出

原因:防火墙封住了服务器上FTP的入站端口,这种情况下Filezilla里连有人请求连接的信息都看不到。

出坑:

打开“高级安全Windows防火墙”

右击“入站规则”,点击“新建规则”

选择“端口”,选择“TCP”,输入FTP端口,如果之前配置Filezilla时没有改过,就用默认端口21

后面就选“允许链接”,所有时候都应用该规则,最后给这条规则命名如FTP Default Port,再用其他机器访问FTP就能弹出输入用户名和密码的窗口了,Filezilla里也能看到连接的信息啦~

坑4:服务器本地可以访问FTP,其他机器输入用户名和密码后提示“打开ftp服务器上的文件夹时发生错误,请检查是否有权限”

原因:这个坑博主把上面那条提示放到百度里,也没搜到什么靠谱的解决办法,然后想着装一个Filezilla Client,用Client访问FTP是不是能看到什么错误代码,果然找到了错误 代码"425 Can't open data connection.",从stackoverflow上搜到这个解决办法《Setup FileZilla Server Passive Ports on Windows Server 2012》。大概是说FTP的客户端默认以Passive mode(被动模式,博文最后解释了FTP的主动模式和被动模式)连接服务器,Filezilla会随机打开1-65535之间的一个端口,导致这个错误的原因就是,防火墙封住了Passive mode的端口。

出坑:

在Passive mode settings里勾选Use custom port range,如果让防火墙对1-65535端口全部开放有些危险,所以先在这里限定好端口范围

然后重复坑3在入站规则里打开21端口的过程,打开限定好的Passive mode端口范围,唯一的不同就是在下面这里输入50100-51100,给这条规则命名如FileZilla - Passive FTP Ports,再用其他机器访问就没有任何阻碍啦~

至此,Filezilla配置过程中的所有坑都跳出来了,这里再补充两个小知识和一个小技巧:

1. 防火墙的入站规则和出站规则

下面是从网上copy下来的一段解释,对于FTP服务器来说,只涉及外网访问服务器,不涉及服务器访问外网,所以上面坑3和坑4都是在防火墙的入站规则里打开端口,没有修改出站规则。

出站就是你访问外网,入站就是外网访问你,用户可以创建入站和出站规则,从而阻挡或者允许特定程序或者端口进行连接。用户可以使用预先设置的规则,也可以创建自定义规则,可以将规则应用于一组程序、端口或者服务,也可 以将规则应用于所有程序或者某个特定程序;可以阻挡某个软件进行所有连接、允许所有连接,或者只允许安全连接,并要求使用加密来保护通过该连接发送的数据 的安全性;可以为入站和出站流量配置源IP地址及目的地IP地址,同样还可以为源TCP和UDP端口及目的地TCP和UPD端口配置规则。

2.FTP的主动模式和被动模式

FTP连接包括两类通道:一个控制连接(命令联系通道),几个数据连接(资料联系通道)。前者用于传递客户端的命令和服务器端对命令的响应,默认使用服务器的21端口,生存期是整个FTP会话时间。后者用于传输文件和其它数据,如目录列表等,只在需要数据传输时建立,而一旦数据传输完毕就关闭,每次使用的端口也不一定相同,根据数据连接是否由服务器发起,可以分为主动模式和被动模式。

关于ftp的主动模式(Active Mode)和被动模式(Passive Mode)》里解释得比较清楚,FTP协议是建立在TCP协议基础上的,所以客户端与服务器的每次交互都要经过三次握手,通过两张图可以区分这两种模式:

  • 主动模式:客户端端利用>1024的任意端口发起与服务器21端口建立连接,建立“命令联系通道”,如果要发生资料传输,通过21告知服务器端口(如1333)并 开始listen,服务器利用20端口向客户端的1333端口发起连接,建立“资料联系通道”。由于“资料联系通道”是由服务器主动建立的(图中步骤6),所以称作主动模式。

  • 被动模式:建立“命令联系通道”的方式和主动模式基本一样,也是连接先连接服务器的21端口。但是如果需要传输资料,客户端会送出PASV指令,告诉服务器要利用被动模式建立“资料联系通道”,然后服务器会打开一个端口并开始listen,并把这个端口通过“命令联系通道”告知客户端,客户端再打开一个端口,与服务器建立“资料连接通道”。由于“资料连接通道”是由服务器被动建立的,所以称作被动模式。

 

3.取消FTP的自动登录

有时候我们访问某个FTP时可能设置了保存密码,之后每次访问那个FTP,都会默认通过之前的用户名和密码登录。为了安全起见不让它再自动登录,或者FTP设置了不同权限的用户,我们想通过其他用户名登录,可以在已进入的目录空白处右击,选择“登录”,弹出的窗口里把“保存密码”选项取消掉就可以了,在这个窗口里也可以输入其他用户名及密码,就是通过其他身份访问FTP了。

---------------------
作者:guihua_wulipcy
来源:CSDN
原文:https://blog.csdn.net/u010376274/article/details/56479707?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!

Filezilla配置FTP中的坑以及出坑办法的更多相关文章

  1. aliyun EC2配置利用filezilla配置ftp服务

    项目需要在阿里云EC2虚拟主机上配置ftp服务器,看了阿里云的教程可以使用filezilla配置,但一直遇到了一些问题.现记录一些步骤,避免以后出现类似问题. 1安装filezilla server ...

  2. python函数中把列表(list)当参数时的"入坑"与"出坑"

    在Python函数中,传递的参数如果默认有一个为 列表(list),那么就要注意了,此处有坑!! 入坑 def f(x,li=[]): for i in range(x): li.append(i*i ...

  3. jenkins配置过程中踩过的一些坑

    1,编译通过之后,想要将编译好的war包放到远程服务器上,并解压 unzipBus.sh的脚本如下: #!/bin/bash jar -xvf bus.war 编译后报错:jar:Command no ...

  4. Android项目开发遇到的问题(64K的错误)的解决之路,从入坑到出坑

    自己一个android项目,一直以来进展还算顺利,没有遇到什么严重性的问题,今天准备给同事手机上安装一下玩玩,谁知丢人丢大,无法build apk!报错!my god,我开发没问题啊,我手机连上usb ...

  5. window server 2008配置FTP服务器550 Access is denied. 问题解决办法

    如果你是按照网上的通用方法,在搭建FTP服务器的时候临时建了一个用户的话,那么这个用户是普通用户,你即便勾选了“读”“写”权限,那么再打开防火墙的情况下,你还是不能上传文件,只能下载.只需要登录到服务 ...

  6. Filezilla server配置FTP服务器中的各种问题与解决方法

    转至;https://www.jb51.net/article/122171.htm 安装文件以及补丁下载 公司很多资料需要通过ftp上传,那么就需要配置一个FTP服务器,找了一台Windows服务器 ...

  7. 讲述一下自己在linux中配置ftp服务的经历

    本人大二小白一名,从大一下学期就开始接触到linux,当时看到学校每次让我们下载资源都在一个ftp服务器中,感觉特别的高大上,所以自己就想什么时候自己能够拥有自己的ftp服务器,自己放一点东西进去,让 ...

  8. 菜鸟帮你跳过openstack配置过程中的坑

    一:前言 对于一个以前做java全栈工程师而言,而且没学过Linux,很少用虚拟机(还是在大学的时候简单的用过),去配置openstack我想我入的坑肯定比有基础的一定要多,躺在每个坑中徘徊思索的时间 ...

  9. 菜鸟帮你跳过openstack配置过程中的坑[文末新添加福利]

    一:前言 对于一个以前做java全栈工程师而言,而且没学过Linux,很少用虚拟机(还是在大学的时候简单的用过),去配置openstack我想我入的坑肯定比有基础的一定要多,躺在每个坑中徘徊思索的时间 ...

随机推荐

  1. win10下rose2003安装与破解(图解)

    系统刷成了win10的,因为选择的是全新安装的方式,所以开发工具又得又一次安装了,rose尽管好用.但是安装破解还是有点麻烦,这里整理一下.备用,下回就不须要去网上搜索了. 安装文件下载地址:链接: ...

  2. mac 权限问题

    终端输入sudo chown -R zjtc /usr/local

  3. EasyDarwin添加自定义的服务模块EasyMyModule

    EasyDarwin模块的要求 每个QTSS模块必须实现两个方法函数: 一个Main入口函数,服务器在启动的时候将调用这个方法函数,来对您开发的模块所在的QTSS stub库进行初始化. 一个Disp ...

  4. extjs中新建窗体时,给窗体添加背景图片不显示问题之一

    1.在extjs中新建窗体时,给窗体添加背景图片不显示,例如下面的代码. 不显示的原因:因为设置了  layout: 'fit', Ext.create('Ext.Window', { title: ...

  5. BNUOJ 34978 汉诺塔 (概率dp)

    题目分析:对于 i 个盘 , 须要移动多少步,取决于最大的盘子在哪个杆上.在C杆上,则最大的盘不须要移动,由于初始状态一定是满足盘由下到上盘子依次变小的,仅仅须要移动i - 1个盘.假设在A杆上,则首 ...

  6. Hive与impala的对比测试实验

    前面几篇随笔记录了我安装环境的一些笔记,环境ok以后,自然要看看impala到底性能如何,拿他来hive做做对比: 前面hive章节中,已经建立了一张名叫chengyeliang的table,该表的结 ...

  7. xcode7和ios9下UIWebView不能加载网页的解决方法

    错误描述: App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecu ...

  8. webpack v3 结合 react-router v4 做 dynamic import — 按需加载(懒加载)

    为什么要做dynamic import? dynamic import不知道为什么有很多叫法,什么按需加载,懒加载,Code Splitting,代码分页等.总之,就是在SPA,把JS代码分成N个页面 ...

  9. linux命令行快捷键记录

    摘自: http://www.cnblogs.com/webzhangnan/p/3221410.html [移动光标] Ctrl+A 标移到行首.它在多数文本编辑器和 Mozilla 的 URL 字 ...

  10. C#入门---2、C#装备知识(C#创建桌面程序的时候创建的是什么应用程序)

    C#入门---2.C#装备知识(C#创建桌面程序的时候创建的是什么应用程序) 一.总结 一句话总结: WPF应用程序:来替代 WindowsFroms 来创建桌面应用程序 1.什么是控制台程序 Con ...