最近使用海康威视摄像头,需要使用FTP功能,就随便搭建一个FTP服务器
服务器:阿里云ECS
系统:ubuntu14.04
FTP是基于TCP的协议,一般需要21,20两个端口,需要在ECS安全组开启这两个端口,但是在开启后,阿里云会提示21端口高危,远程登录后出现种种问题,所以这里我们不使用21端口,改用其他端口。我们在安全组开启5000端口代替21端口,并且再开启5001,5002,5003三个端口,这三个端口的作用我们后面再说。
进入控制台(本人使用的是root用户,所以后面的命令一律省略sudo,非root用户是否能按照该方式安装成功并不确定)
1.安装FTP服务 。
apt-get update
apt-get install vsftpd
2.配置FTP服务器配置文件
FTP服务器配置文件为vsftpd.conf,位于/etc目录下,具体位置各有不同,本人的就在etc/下
vim /etc/vsftpd.conf
编辑配置文件
配置文件有很多选项,具体功能不一一详述,欲知详情自己百度,这里我们只说重点的
listen=YES
anonymous_enable=NO(不允许匿名登录,安全考虑)
local_enable=YES
write_enable=YES(允许写)
local_umask=022
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
pam_service_name=ftp(默认是vsftpd,这里改为ftp)
上面基本都是系统自带的配置选项,修改即可,下面为需要添加的选项
pasv_enable=YES
pasv_address=ipaddr(你的阿里云公网IP)
pasv_addr_resolve=yes
pasv_min_port=5001
pasv_max_port=5003 (被动模式需要使用的端口,也就是我们之前开启的端口)
listen_port=5000(监听端口,从21改为5000)
保存修改。
在阿里云上我们使用ftp被动模式,所以需要开几个端口用来传数据
3.修改服务端口
vim /etc/services
ftp 21/tcp
fsp 21/udp
修改为
ftp 5000/tcp
fsp 5000/udp
4.修改防火墙
ufw allow 5000
ufw allow 5001
ufw allow 5002
ufw allow 5003
ufw reload
重启防火墙
查看端口
netstat -tlunp或者ufw status
我们开启的几个端口都在listen,说明设置成功。
重启ftp服务
service vsftpd restart
5.登录测试
你可以使用自己的FTP客户端工具,记得要选择使用被动模式,因为我们服务器配置的是被动模式
本地终端下面测试(你的本地终端也需要安装ftp)
ftp ipaddr port
输入账号密码
登录成功后,执行ls命令会提示
500 Illegal PORT command.
ftp: bind: Address already in use
说明主动模式不能使用
进入被动模式
quote pasv
再执行passive确认进入被动模式
这时候执行ls命令,你就可以看见ftp服务器下的文件了,当然如果你使用的不是root用户,需要在服务器下设置相关文件夹的权限后才能够使用,这里不再详述。