Linux 下搭建基于 VSFTP 的 FTP 服务器

Linux系统 gongyj 1947℃ 已收录 0评论

VSFTP 是一个基于 GPL 发布的类 Unix 系统上使用的 FTP 服务器软件,它的全称是 Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。除了这与生俱来的安全特性以外,高速与高稳定性也是 VSFTP 的两个重要特点。在速度方面,使用 ASCII 代码的模式下载数据时,VSFTP 的速度是 Wu-FTP 的两倍,如果 Linux 主机使用 2.4.* 的内核,在千兆以太网上的下载速度可达86MB/S。在稳定方面,VSFTP 就更加的出色,VSFTP 在单机(非集群)上支持 4000 个以上的并发用户同时连接,根据 Red Hat 的 Ftp 服务器的数据,VSFTP 服务器可以支持 15000 个并发用户。

VSFTPD.png

一、FTP 工作原理

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。

1、FTP 的功能简介

FTP 根据使用者的登录情况,将用户分为三种不同的身份,分别是:

(1)Real 帐户

这类用户是指在 FTP 服务上拥有帐号。当这类用户登录 FTP 服务器的时候,其默认的主目录就是其帐号命名的目录。但是,其还可以变更到其他目录中去。如系统的主目录等等。

(2)Guest 用户

在 FTP 服务器中,我们往往会给不同的部门或者某个特定的用户设置一个帐户。但是,这个账户有个特点,就是其只能够访问自己的主目录。服务器通过这种方式来保障 FTP 服务上其他文件的安全性。这类帐户,在 VSFTP 软件中就叫做 Guest 用户。拥有这类用户的帐户,只能够访问其主目录下的目录,而不得访问主目录以外的文件。

(3)Anonymous 用户

这也是我们通常所说的匿名访问。这类用户是指在 FTP 服务器中没有指定帐户,但是其仍然可以进行匿名访问某些公开的资源。

在组建 FTP 服务器的时候,我们就需要根据用户的类型,对用户进行归类。默认情况下,VSFTP 服务器会把建立的所有帐户都归属为 Real 用户。但是,这往往不符合企业安全的需要。因为这类用户不仅可以访问自己的主目录,而且,还可以访问其他用户的目录。这就给其他用户所在的空间带来一定的安全隐患。所以,企业要根据实际情况,修改用户所在的类别。

2、命令记录与登录记录

FTP 可以利用系统的 rsyslog 来对服务器记录日志,对所有的登录和操作信息记录的都非常的详细。在 vsftpd.log 日志中会记录 FTP 的登录情况,例如登录的时间、 IP 地址、用户名等信息。在 xferlog 日志会记录 FTP 会话详细信息,它能够显示客户机向 FTP Server 上传/下载的文件路径、传输时间、档案大小以及名称认证方式等信息。

3、限制使用者活动范围

为了避免用户在你的 Linux 系统当中随意逛大街 (意指离开用户自己的家目录而进入到 Linux 系统的其他目录去), 所以将使用者的工作范围『局限』在用户的家目录底下,嗯!实在是个不错的好主意!FTP 可以限制用户仅能在自己的家目录当中活动喔!如此一来,由于使用者无法离开自己的家目录,而且登入 FTP 后,显示的『根目录』就是自己家目录的内容,这种环境称之为 change root ,简称 chroot ,改变根目录的意思啦!

这有什么好处呢?当一个恶意的使用者以 FTP 登入你的系统当中,如果没有chroot 的环境下,他可以到 /etc, /usr/local, /home 等其他重要目录底下去察看档案数据,尤其是很重要的 /etc/ 底下的配置文件,如 /etc/passwd 等等。如果你没有做好一些档案权限的管理与保护,那他就有办法取得系统的某些重要信息, 用来『入侵』你的系统呢!所以在 chroot 的环境下,当然就比较安全一些咯!

二、两种工作模式

1、主动模式

Active.png

client (随机取一个大于 1024 的端口)向 server 发送连接请求(默认21),服务器接受连接,建立控制通道,来对 FTP 服务器下达指令, 包括查询文件名、下载、上传等等指令都是利用这个通道来下达的。需要数据传输时,客户端在控制通道用 PORT 命令告诉服务器:“我打开了 XX 端口,你过来连我”,服务器从数据传输端口( 默认20 )向客户端 XX 端口发送连接请求,建立数据传输通道。

数据传输信道是在有数据传输的行为时才会建立的通道,并不是一开始连接到FTP 服务器就立刻建立的通道呢!

2、被动模式

Passive.png

client(随机取一个大于 1024 的端口)向 server 发送连接请求(默认21),服务器接受连接,建立控制通道。需要数据传输时, 客户端可透过命令通道发出 PASV 的被动式联机要求(Passive 的缩写), 并等待服务器的回应,此时的 FTP 服务器会先启动一个端口在监听, 这个端口号码可能是随机的,也可以自定义某一范围的端口,告诉客户端:“我打开了 XX 端口,你过来连我”,客户端从 yy 端口(一个大于 1024 的端口)向服务器 XX 端口发送连接请求,建立数据传输通道。

透过 PASV 模式,服务器在没有特别设置的情况下,会随机选取大于 1024 的端口来提供客户端连接之用。 那么万一服务器启用的端口口被搞鬼怎么办?而且, 如此一来也很难追踪来自入侵者攻击的登录信息啊!所以,这个时候我们可以透过 passive ports 的功能来限定服务器启用的 port number !

三、VSFTP 的安装与配置

VSFTP 安装很简单,下面就介绍一下在 CentOS 6.6 系统中的安装与配置方法。

1、安装

配置 yum 源后,直接使用 yum 命令安装即可。

yum install -y vsftpd

安装完毕后,在防火墙与 selinux 关闭情况下,启动服务就可以使用了。默认情况下,匿名用户为只读,只允许浏览下载,不能上传,并且根目录被限定在 /var/ftp 目录下,不能切换到其它目录下,而普通用户的根目录在用户的 home 目录下,并可以切换到其它目录下,只要对该目录有写入权限,就可以做任意的上传和删除文件了。

2、软件结构

整个软件提供的配置文件也少的令人高兴! 简单易用就是 VSFTP 的特色啊!比较重要的有以下几个配置文件:

(1)主配置文件 /etc/vsftpd/vsftpd.conf

严格来说, 整个 vsftpd 的配置文件就只有这个档案! 这个文件的设置是与 bash 的变量设定相同的方式来处理的,也就是“参数=设定值”来设定的,注意, 等号两边不能有空白!至于详细的 vsftpd.conf 可以使用 man 5 vsftpd.conf 来详查。

(2)验证文件 /etc/pam.d/vsftpd

这个是 vsftpd 使用 PAM 模块时的相关配置文件。主要用来作为身份认证之用,还有一些用户身份的抵挡功能, 也是透过这个档案来达成的。

cat /etc/pam.d/vsftpd
#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

上面那个 file 后面接的档案是限制使用者无法使用 vsftpd 之意, 也就是说,其实你的限制文件不见得要使用系统默认值,也可以在这个文件里面进行修改。
(3)访问控制文件 /etc/vsftpd/ftpusers

 也就是 PAM 模块 (/etc/pam.d/vsftpd) 所指定的那个无
法登入的用户配置文件啊! 这个文件的设置很简单,你只要将不想让他登入 FTP 的账号写入这个文件即可。一行一个账号,看起来像这样:

 cat /etc/vsftpd/ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
……

绝大部分的系统账号都在这个文件内,也就是说,系统账号默认是没有办法使用 vsftpd 的。 如果你还想要让某些使用者无法登入,写在这里是最快z最方便的。

(4)自定义访问控制文件 /etc/vsftpd/user_list

这个文件是否能够生效与 vsftpd.conf 内的两个参数有关,分别是 userlist_enable 与 userlist_deny 。 如果说 /etc/vsftpd/ftpusers 是 PAM 模块的抵挡设定项目,那么这个 /etc/vsftpd/user_list 则是 vsftpd 自定义的抵挡项目。 事实上这个文件与 /etc/vsftpd/ftpusers 几乎一模一样, 在预设的情况下,你可以将不希望可登入 vsftpd 的账号写入这里。不过这个文件的功能会依据 vsftpd.conf 主配置文件内的 userlist_deny={YES/NO} 而不同,这得要特别留意。

(5)用户根目录限制文件 /etc/vsftpd/chroot_list

这个文件默认是不存在的,所以你必须要手动自行建立。这个文件的主要功能是可以将某些账号的使用者 chroot 在他们的家目录下!但这个文件要生效与 vsftpd.conf 内的 chroot_list_enable, chroot_list_file 两个参数有关。如果你想要将某些实体用户限制在他们的家目录下而不许到其他目录去, 可以启动这个设定项目。

(6)启动文件 /usr/sbin/vsftpd

这就是 vsftpd 的主要执行程序,启动 FTP 需要执行它。

(7)匿名用户根目录 /var/ftp/

这个是 vsftpd 的预设匿名用户登入后的根目录,其实与 ftp 这个账号的家目录有关!

大致上就只有这几个文件需要注意而已,而且每个配置文件的设置又都很简单。

3、主配置文件详解

/etc/vsftpd/vsftpd.conf 默认配置文件已经很详细了,也可以用 man 命令查看来完整的参数说明,不过还是简要介绍一下常用的参数设置吧。

(1)与服务器环境相关的设置

connect_from_port_20=YES/NO              #控制服务器是否使用20端口进行数据传输
listen_port=21                           #命令通道的监听端口
dirmessage_enable=YES/NO                 #用户进入某个目录时,会显示的该目录要注意的内容,显示的文件默认是 .message,可以用下面的参数来设置
message_file=.message                    #显示信息文件
listen=YES/NO                            #定义 VSFTP 是否以独立的方式启动
pasv_enable=YES/NO                       #定义为被动模式时,要设置为 YES
use_localtime=YES/NO                     #是否使用本地时间,默认是使用 GMT 时间
write_enable=YES/NO                      #是否允许用户上传
connect_timeout=60                       #主动模式数据传输连接超时时间,单位是秒,到时间后,不等待并强制短线
accept_timeout=60                        #被动模式数据传输连接超时时间
data_connection_timeout=300              #数据传输的超时时间
idle_session_timeout=300                 #空闲等待超时时间,如果超过300秒没有命令动作,强势断开
max_clients=10                           #定义连线数,限制最多有多少 client 可以同时连接上,默认值是 2000
max_per_ip=50                            #与上边类似,定义同一个 IP 同一时间可以有多少联机,默认值是 50
pasv_min_port=30000,pasv_max_port=31000  #定义被动模式数据传输的最小端口和最大端口,如果是0,表示随机不限制
ftpd_banner=hello                        #定义登录时显示的说明,不过这个值数据比较小,建议使用下边的参数
banner_file=/path/file                   #定义欢迎信息文件

(2)与真实用户的相关设置

guest_enable=YES/NO                      #是否将真实帐号登录后映射成指定的用户名,配置虚拟账户时使用
guest_username=ftp                       #指定访客身份,上边参数开启后才会生效,所有的ftp用户都会被映射为指定用户名
virtual_use_local_privs=YES/NO           #当该参数为 YES 时,虚拟用户与其宿主用户有相同的权限。 当此参数为 NO时,虚拟用户与匿名用户有相同的权限。默认 NO
local_enable=YES/NO                      #是否允许本地用户登录,为 YES 时,/etc/passwd 中的账号才能以实体用户的方式登录
local_max_rate=0                         #定义真实用户的传输速度 byte/s,0 为不限制
chroot_local_user=YES/NO                 #是否将真实的活动范围限制在家目录,为了安全性,防止用户跨目录访问,设置为 YES 才好
chroot_list_enable=YES/NO                #是否启用 chroot 列表功能,与下边参数有关
chroot_list_file=/etc/vsftpd/chroot_list #指定 chroot 用户列表文件,上边的参数必须设为 YES,开启了 chroot 功能后,所有的用户都活动范围都限制了
                                          如果有个别用户不想被限制,那么在这个文件写上对应的用户名就可以了,一行一个
userlist_enable=YES/NO                   #是否启用用户列表功能,用来拒绝某些用户登录登录 FTP
userlist_deny=YES/NO                     #设置用户是否可以登录,需要上边的参数设为 YES 时才会生效,当设置为 YES 时,下边列表文件中的用户就不能登录了   NO:可以登录
userlist_file=/PATH/FILE                 #指定存放用户名的列表文件,上边设为 YES 时,这个文件就生效了

(3)匿名用户相关设置

anonymous_enable=YES/NO                  #是否允许匿名用户登录,下边的参数都需这里设为 YES 才会生效
anon_world_readable_only=YES/NO          #是否允许匿名用户下载,默认是 YES
anon_other_write_enable=YES/NO           #是否允许匿名用户具有写以外的权限,默认为 NO,设为 YES 后,相应的目录权限也学要调整
anon_mkdir_write_enable=YES/NO           #匿名用户是否可以建立目录,默认为 NO 
anon_upload_enable=YES/NO                #是否允许上传,默认是 NO
deny_email_enable=YES/NO                 #是否通过邮件拒绝,将某些特殊的 email address 抵挡住,不让那些 anonymous 登入!
banned_email_file=/path/file             #定义存放邮件地址的文件,上边参数需要设置为 YES,可以规定哪个 email address 不可登入我们的 vsftpd,一行输入一个 email address 即可!  
no_anon_password=YES/NO                  #匿名用户登录是否需要密码,默认为 NO,当设置为 YES 时,表示 anonymous 将会略过密码检验步骤, 而直接进入 vsftpd 服务器内
anon_max_rate=0                          #匿名用户传输速率,bytes/s,0 为不限制
anon_umask=077                           #匿名用户上传文件的权限,上传的文件权限为 -rw-------

(4)安全相关

ascii_download_enable=YES/NO             #下载时使用 ASCII 格式进行数据传输,默认是 NO
ascii_upload_enable=YES/NO               #上传时是否使用 ASCII 格式,默认是 NO
one_process_model=YES/NO                 #是否为每一个连接开启一个独立的进程,此模式消耗资源高,容易耗尽系统资源,安全性差,但低访问时性能好,建议使用默认值 NO
tcp_wrappers=YES/NO                      #是否支持 tcp wrappers,默认是 NO,为由 inetd 生成的服务提供了增强的安全性,使用 super daemon 方式启动,并开启该功能,可减小资源消耗
xferlog_enable=YES/NO                    #是否记录使用者上传下载信息
xferlog_file=/var/log/xferlog            #定义记录文件位置,上边参数要设为 YES
xferlog_std_format=YES/NO                #是否使用于 wu ftp 相同的记录格式,默认为 NO
dual_log_enable=YES/NO                   #除了 xferlog 的记录方式外,vsftpd 还有自己的日志记录方式,可以同时开启,默认是 NO
vsftpd_log_file=/var/log/vsftpd.log      #vsftpd 日志存放位置
syslog_enable=YES/NO                     #是否将日志信息写入 vsftpd.log 日志中,默认为 YES 
nopriv_user=nobody                       #定义启动者的身份,nodoby 权限最低,比较安全,可以改为此用户
pam_service_name=vsftpd                  #定义pam验证模块的名称,就是放在 /etc/pam.d/vsftpd 的这个文件

上面这些是常见的 vsftpd 的设定参数,还有很多参数我没有列出来,其余的可以用 man 命令来查询。

注意:采用 ASCII 传输方式,速度会很快,但建议不要用来传输二进制文件,在转换过程,二进制文件可能会被损坏,无法使用;FTP 的时间也需要注意一下,会与系统时间相差 8 小时的;用户建立的文件和目录权限分别为775 和 664。

四、VSFTP 启动的方式

vsftpd 可以使用 stand alone 或 super daemon 的方式来启动,CentOS 的 vsftpd 默认是以 stand alone 来启动的。 那什么时候应该选择 stand alone 或者是 super daemon 呢?如果你的 FTP 服务器是提供给整个因特网来进行大量下载的任务, 例如各大专院校的 FTP 服务器,访问的人会很多,那建议你使用 stand alone 的方式, 服务的速度上会比较好。如果仅是提供给内部人员使用的 FTP 服务器,访问量很小,那使用 super daemon 来管理即可啊。

(1)stand alone

默认就是这种方式启动,启动方式如下:

/etc/init.d/vsftpd start

服务启动后,在系统中启动一个 vsftpd 的进程

netstat -tulnp| grep 21
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      3455/vsftpd

(2)super daemon

如果你的 FTP 是很少被使用的,那么利用 super daemon 来管理不失为一个好主意,这种方式需要由 xinetd 服务来管理的,当有 FTP 有请求的时候,xinetd 就会启动 vsftpd 服务;当请求结束后,FTP 处于闲置状态,这是 xinetd 就会关闭 vsftpd 服务,释放占用的系统资源。

这种配置方法很很简单,首先要修改 vsftpd 的主配置文件,把 listen=YES 改为 NO,然后在创建一个 xinetd 管理的启动文件,内容如下:

vim /etc/xinetd.d/vsftpd
service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
disable = no
}

文件写好后,关闭 vsftpd 服务,重启一下 xinetd 服务就可以了

netstat -nptla| grep 21
tcp        0      0 :::21                       :::*                        LISTEN      3816/xinetd

客户端登录 FTP 后,在系统中查看进程,就会发现,21端口的服务名称,变成 xinetd 了。两者启动的方式可不一样!管理的方式就会差很多的!不管你要使用哪种启动的方式,切记不要两者同时启动,否则会发生错误的!你应该使用 chkconfig –list 检查一下这两种启动的方式,然后依据你的需求来决定用哪一种方式启动。

五、iptables 防火墙设置

1、主动模式

VSFTP 服务搭建好之后,如果是使用主动模式访问,那么启用 iptables 只需添加以下规则即可:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

这样客户端需要更改为主动模式即可连接成功并可进行数据传输。

2、被动模式

浏览器或者 FTP 连接工具一般默认都是使用 pasv 方式进行默认连接。为了保证客户端尽可能简单设置的原则,那么需要设置服务器端能够支持默认的 pasv 方式连接。

该配置有 2 种方案:

(1)首先修改一下主配置文件 vsftp.conf 将被动模式数据传输的最小端口和最大端口限定一下,不然随机端口,没法配置,pasv_min_port=30000,pasv_max_port=31000,然后启用 iptables 只需添加以下规则即可:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30000:31000 -j ACCEPT

这样在 30000~31000 范围内,无论系统使用哪个作为数据端口,iptables 都允许通过,这样客户端只要是被动模式即可连接成功并可进行数据传输。

(2)加载 FTP 额外模块,使用 ip_conntrack_ftp 模块,配置起来更灵活一点,不用限制被动模式的端口范围也可以。添加方法有 2 种,一是使用 modprobe 命令添加模块“modprobe ip_conntrack_ftp”,但这样操作重启后就会失效,需要把该命令放到 /etc/rc.local 下,这样就能随系统开机自动加载了,但是,重启 iptables 后,还会失效。另一种方法就很完美了,就是编辑 iptables 的配置文件如下,编辑 /etc/sysconfig/iptables-config :

IPTABLES_MODULES="ip_conntrack_ftp"

把需要加载的模块加入,无论重启系统还是 iptables 但 ftp 模块始终还是加载的,就这样搞定。

然后启用 iptables 只需添加以下规则即可:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

无需开放过多的端口也可以连接成功并可进行数据传输,更方便,更安全。

3、客户端与 FTP 服务器之间具有防火墙连接

一般来说,很多的局域网络都会使用防火墙 (iptables) 的 NAT 功能,那么在 NAT 后端的 FTP 用户如何连接到 FTP 服务器呢?我们可以简单的以下图来说明:


NAT.png

在 FTP 的主动式联机当中, NAT 将会被视为客户端, 但 NAT 其实并非客户端, 这就造成问题了。如果你曾经在 IP 分享器后面连接某些 FTP 服
务器时, 可能偶尔会发现明明就连接上 FTP 服务器了 (命令通道已建立),但是就是无法取得文件名的列表,而是在超过一段时间后显示  Can't build data connection: Connection refused,无法进行数据传输之类的信息。在 Linux NAT 后面使用 FTP 服务目前有两个简易的方法可以克服这个问题:

一是使用被动模式,被动式就是由客户端向服务器端发起联机,那自然就不需要考虑来自 port 20 的联机了。

二是使用 iptables 所提供的 FTP 侦测模块:ip_conntrack_ftp 及 ip_nat_ftp,这几个模块会主动的分析目标是 port 21 的联机信息, 所以可以得到
port BB 的资料,此时若接受到 FTP 服务器的主动联机,就能够将该封包到正确的后端主机了!不过,如果你链接的目标 FTP 服务器他的命令通道默认端口号并非标准的 21 时, 那么这两个模块就无法顺利解析出来了。

用 FlashFXP 客户端测试,当服务器在公网上,只有内网 IP,公网是通过端口映射来访问的,这时配置 iptables,只需要添加 ip_conntrack_ ftp 模块就可以了。

查到了一下网上有关这几个模块的描述:

ip_conntrack 是状态检测机制,state 模块要用到,当 iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT 时,ip_conntrack 自动加载。

ip_conntrack_ftp 是本机做 FTP 时用的。

ip_nat_ftp 是通过本机的 FTP 需要用到的(若你的系统不需要路由转发,没必要用这个),当 ip_nat_ftp 模块被加载时,系统自动会加载ip_conntrack_ftp 模块。

六、常见 FTP 错误代码

Connect 连接被拒绝: 可能原因是 vsftpd 服务没被启动

530 Permission denied: 可能原因是 userlist_enable=YES 并且 /etc/vsftpd/user_list 中包含要登录的ftp用户名   即 user_list 禁止了该用户的登录、或者可能是没有指定 userlist_file=/etc/vsftpd/user_list

530 Login incorrect: 可能原因是登录的ftp用户名被包含在禁止登录列表 /etc/vsftpdftpusers 中,同时要确保用户名、密码是正确的,也可能是配置文件中少了一行pam_service_name=vsftpd,检查/etc/pam.d/vsftpd 文件里面lib的路径,编辑/etc/pam.d/vsftp文件,注释掉auth required pam_shells.so(这个语句的意思是只有包含shell的用户才能登录)

530 Non-anonymous sessions must use encryption.:服务器的强制,非匿名用户必须使用加密连接

500 OOPS: cannot open user list file:可能原因是不存在文件“/etc/vsftpd/user_list”或文件中不存在该帐户,解决:解决: cho username >> /etc/vsftpd/user_list

500 OOPS: cannot open chroot() user list file | 500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list:可能原因是不存在文件“/etc/vsftpd/chroot_list”
500 OOPS: missing value in config file: 可能原因是配置文件“=”等号前值有问题,或只有一个空格

500 OOPS: bad bool value in config file: 可能原因是配置文件=”等号后值有问题

500 OOPS: unrecognised variable in config file: 可能原因是参数前有空格

500 OOPS: chdir, 500 OOPS: child died, 500 OOPS: chroot:可能原因是用户主目录没有权限或没有主目录,或者还是selinux影响的

500 OOPS: vsftpd: both local and anonymous access disabled!匿名用户和本地用户登录都被禁用

GnuTLS error -12: A TLS fatal alert has been received.:received.:Filezilla 最新版本认为 vsftpd 默认的加密算法 "DES-CBC3-SHA" 不够安全而拒绝连接导致的。有两种办法解决该问题,一是降级你的 Filezilla 客户端版本到 3.5.3 以下,二是更改服务器端 vsftpd 的配置。增加属性:ssl_ciphers=HIGH

ECONNREFUSED – Connection refused by server: 当启用隐式 ssl 连接,用 filezilla、winscp 客户端连接时报错,因为 vsftpd 此时服务器端的端口还是 21,但是客户端确以 990 来连接。修改客户端连接时使用的参数或者服务器的通过参数 listen_port 设置端口为 990,问题解决

其实,在 FTP 上面传送的数据很可能被窃取,因为 FTP 是明码传输的嘛!因此,一般来说,除非是学校或者是一些社团单位要开放没有机密或授权问题的资料之外,FTP 是少用为妙的。

本站文章如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:http://blog.chopmoon.com/favorites/227.html
喜欢 (1)
发表我的评论
取消评论

表情 代码 贴图 加粗 链接 私信 删除线 签到

Hi,请填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
正在加载中……