Class1.基于ECS搭建FTP服务
写在前面:在ECS上搭建FTP服务总的来说不是太难,如果按照阿里云上面的教程比较快就能搭建成功。在学习这个之前,我也刚接触ECS不久,甚至连连接远程客户端也反反复复出了一些问题,但是重复做了几次后就比较熟悉了,对FTP服务的概念和常见的FTP服务软件以及FTP服务的搭建也有所了解。本文参照了阿里云上面的步骤,也有自己的一些心得体会。
阿里云ECS7天实践训练营
本文关键字:阿里云,ECS,FTP
文章目录
一、序言
1、FTP协议是什么
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。
2、FTP协议使用的端口
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
3、FTP传输模式
ASCII传输模式和二进制传输模式。
二. 创建资源
创建资源非常容易,只需要按照两个步骤做就可以了:
1). 在页面左侧,单击 云产品资源 下拉菜单,查看本次实验资源。
2). 单击 免费开通 创建所需资源。
开通界面如下:
注:资源开通需要耐心等待1-3分钟。
2.创建成功后我们会得到以下界面
该界面包含了ESC服务器的创建状态(已创建),运行状态(已运行),以及弹性ip,私有地址,用户名,密码和子账号等。
值的注意的是:弹性公网IP是可以直接访问Internet的IP地址,而私有ip
是公有云内网所使用的IP地址,仅用于内网通信,私有IP不能访问Internet
三、 远程连接ECS服务器
1.选择一个终端工具
windows推荐:Powershell、CMD、Putty
mac推荐:Terminal
下面就以Windows自带的PowerShell工具为例子进行连接演示:
2、确认ssh已安装
打开PowerShell,先确认ssh工具是否安装,只需输入:
ssh -V
如下图显示版本号则安装成功
如若不然,则处于未安装ssh工具状态, 请先下载安装OpenSSH。
3、连接
确保了ssh工具安装之后,在终端中输入连接命令 ssh,[username]@[ipaddress],例如username=root,弹性地址为123.123.123.123则输入
ssh root@123.123.123.123`
**【注意:私有地址只能内网连接,这里必须填弹性地址】**如图:
如图所示,在输入ssh [username]@[ipaddress]后它会问你是否想继续连接,你只需要输入
yes
然后输入密码,再按回车就可以了,如果成功,则会有下面界面
到这里,我们已经成功的连上了ECS服务器了。
【注:如果出现连接不上的情况,主要可通过以下几个方面去排查问题】
1)最常见的错误是密码错误,密码尽量不要手打,可以直接复制粘贴,
点左侧ECS服务器信息栏中密码项右上角图标可以进行复制,然后在cmd,PowerShell或者putty等终端工具按鼠标右键就可以粘贴了
2)ssh服务是否正常运行,输入ssh -V是否出现版本号
3)实在不行的话建议可以换一个终端工具再试一试,或者也可以重新再创建一个云服务器。(确实可能会有用,我在写这篇文章的时候就遇到了,连接服务器没有任何反应的话重新创建一个服务器是可以正常连接的)
四、 安装vsftpd
1、vsftdp的用途
“vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。它是一款在Linux发行版中最受推崇的FTP服务器。
2、安装vsfpd
yum install -y vsftpd
如下面界面则为成功
3、设置FTP服务开机自启动
systemctl enable vsftpd.service
出现如图则成功
4、启动FTP服务。
systemctl start vsftpd.service
5、查看FTP服务监听端口
运行以下命令查看FTP服务监听的端口。
netstat -antup | grep ftp
出现如下图所示界面,表示FTP服务已启动,监听的端口号为 21。此时,vsftpd默认已开启匿名访问功能,您无需输入用户名密码即可登录FTP服务器,但没有修改或上传文件的权限。
五、 配置vsftpd
1、vsftpd的两种访问方式
vsftpd有两种访问方式:匿名用户模式和本地用户模式。
区别:匿名访问方式任何用户都可以访问搭建的FTP服务;本地用户模式只支持添加的本地用户访问搭建的FTP服务。
说明: 匿名用户模式和本地用户模式只可同时配置一种。在这里我只介绍匿名用户模式配置的方法。
2、修改配置文件
修改配置文件vsftpd.conf。
vim /etc/vsftpd/vsftpd.conf
首先按enter键,然后按 i 键进入编辑模式,按insert后然后改变屏幕的光标位置,将光标移到要删除的目标元素“#”的后一个元素a上如图,然后按下backspace键即可将匿名上传权限 anon_upload_enable=YES 的注释解开。
光标放在圈中的a处,然后按backspace删除"#"得到如下图则成功:
按ESC键退出编辑模式,将光标移至文件末尾输入
:wq
回车即可保存并退出vim。
注:文件一定不要出现误删、误改现象,否则如果是小白几乎不可能找到问题,只能重创一个服务器,所以一定要看好了之后再进行修改。
3、添加权限
更改/var/ftp/pub目录的权限,为FTP用户添加写权限与重启FTP服务
chmod o+w /var/ftp/pub/
systemctl restart vsftpd.service
六、 配置安全组
本次实验没有权限,默认可以访问所有的端口,所以不需要我们做任何配置
七、 客户端测试
打开Chrom浏览器,在地址栏中输入ftp://<FTP服务器公网IP地址>:FTP端口,FTP服务器公网IP地址为ECS服务器的弹性IP地址。例如:ftp://139.0.0.1:21。
成功前:
成功后:
七、总结
第一天的内容基于ECS搭建FTP服务其实还是比较简单,反复做了两三次就比较熟悉了。
阿里云高校计划,陪伴两千多所高校在校生云上实践、云上成长。
在这里你可以领用免费的cpu资源,还可以参加免费训练营,实践提高:https://developer.aliyun.com/adc/student/