在CentOs下搭建FTP服务器
1 背景知识
1.1 云服务器
Elastic Compute Service,简称ECS,是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as aService)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。
1.2 FTP
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP
协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。默认情况下FTP协议使用TCP端口中的
20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
1.3 vsftpd
vsftpd(very secure FTP daemon)是一款在Linux发行版中最受推崇的FTP服务器。它可以运行在诸如
Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP
服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
2.搭建过程
Step1.远程连接ECS服务器
使用ssh工具连接
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH
为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH
协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital
UNIX、Irix,以及其他平台,都可运行SSH。
在终端输入ssh -V
注意:此处V
需大写
出现以上信息则说明ssh已经安装
执行以下命令 连接ssh
ssh root@xxx.xxx.xxx
Step2.安装 vsftpd
- 使用yum命令安装vsftpd
> yum install -y vsftpd
- 使用yum命令安装vsftpd
systemctl enable vsftpd.service
- 启动FTP服务。
systemctl start vsftpd.service
- 运行以下命令查看FTP服务监听的端口。
netstat -antup | grep ftp
出现以下界面则说明安装成功
Step3.配置vsftpd
登录ftp有两种模式,一种是匿名模式,另外一种是本地用户模式。
此处为匿名模式配置方法。
- 修改配置文件vsftpd.conf。
vim /etc/vsftpd/vsftpd.conf
按 i 键进入编辑模式,将匿名上传权限
anon_upload_enable=YES
注释解开
-
按ESC键退出编辑模式,输入:wq 保存并退出vim。
-
更改/var/ftp/pub目录的权限,为FTP用户添加写权限。
chmod o+w /var/ftp/pub/
- 重启FTP服务。
systemctl restart vsftpd.service
##Step4.配置安全组策略
进入阿里云ECS控制台,找到安全组,新增一组规则
访问ftp服务
在ie浏览器中访问
ftp://xxx.xxx.xxx.xxx
3.阿里云高校计划
陪伴两千多所高校在校生云上实践、云上成长。在这里你可以领用免费的cpu资源,还可以参加免费训练营,实践提高:https://developer.aliyun.com/adc/student/