Day1:体验ECS搭建FTP全流程

简介: 使用ECS快速从全新CentOS系统搭建FTP服务还是相对比较容易的。本文介绍了使用ECS搭建FTP的全流程,其中用到了第三方工具Xshell。

使用ECS快速从全新CentOS系统搭建FTP服务还是相对比较容易的。具体过程如下:

申请ECS实例

在本次教学场景中是一键完成的。实际在阿里云平台中需要根据需求的机器配置购买ECS实例,配置操作系统镜像、网络安全组、登录凭证(密码/证书)后,再进行下一步操作,这里按下不表。

远程连接ECS实例

教学场景中的指南推荐使用系统自带的终端工具以及OpenSSH来连接,实际上我们还可以使用其他优秀的第三方终端工具来远程连接ECS实例。这里我们采用Xshell(该软件对家庭用户/测试用途免费)。
按照默认设置(也没什么好配置的,能配置的只有安装位置)安装好后Xshell后,打开软件,在弹出的会话窗口中点击新建按钮,即可填写ECS服务器外网IP(即弹性IP)地址即可点击连接。
image.png
image.png
稍后Xshell会提示首次连接主机的连接公钥确认。该提示说明本地计算机是第一次使用Xshell连接这台远程服务器,需要对主机的身份确认。这里我们可以大胆放心信任阿里云的ECS,点击确认即可。
image.png
接下来会提示登录用户名和密码(忘记截图了TAT),在教学场景中已在页面上给出,实际在阿里云平台操作时已在购买ECS实例时配置好。
image.png
然后界面上即是CentOS默认的bash提示符:
image.png
说明此刻已经成功登录到远程ECS了!

安装FTP服务器

vsftpd(Very Secure FTP Daemon)是一款在Linux发行版中最受推崇的FTP服务器。这里我们就选择它来搭建FTP服务。

安装vsftpd

在Xshell中右键粘贴(注意不能使用Ctrl+V粘贴,Xshell中的粘贴快捷键是Shift+Insert,比较麻烦,还是右键粘贴快一些)

yum install -y vsftpd

返回如下所示文字时,说明安装成功!

Installed:
  vsftpd.x86_64 0:3.0.2-27.el7                                                                             

Complete!

启动FTP服务并设置开机自启动

注:代码中从#开始至这一行行末都是注释,可以不复制不执行。

# 设置FTP服务开机自启动
systemctl enable vsftpd.service

# 启动FTP服务
systemctl start vsftpd.service

# 查看FTP服务监听的端口
netstat -antup | grep ftp

如果可以看到出现如下内容,表示FTP服务已启动,监听的端口号为21。

tcp6       0      0 :::21                   :::*                    LISTEN      1443/vsftpd         

此时,vsftpd默认已开启匿名访问功能,无需输入用户名密码即可登录FTP服务器,但没有修改或上传文件的权限。因此下一步需要添加修改或上传文件权限。

配置FTP服务器权限

vsftpd支持匿名访问模式本地用户模式两种访问方式。
匿名访问模式下任何用户都可以访问搭建的FTP服务。
本地用户模式下只支持添加的本地用户访问搭建的FTP服务。

匿名用户模式

首先需要修改配置文件vsftpd.conf,这里直接使用CentOS自带的vim命令行编辑器编辑配置文件

vim /etc/vsftpd/vsftpd.conf

i键进入编辑模式,将匿名上传权限配置anon_upload_enable=YES这一行开头的注释符#删除。随后按ESC键退出编辑模式,输入:wq保存并退出vim编辑器。

然后使用下面的目录修改默认ftp根目录路径/var/ftp/pub的读写权限:

chmod o+w /var/ftp/pub/

最后重启FTP服务:

systemctl restart vsftpd.service

注:实测这里重启FTP服务后不能马上访问,需要等待个30秒左右再访问才能进入,否则连接不上。

本地用户模式

首先为FTP服务创建一个Linux用户ftptest,供FTP登录使用,如果需要其他用户名可以自行修改命令中的ftptest

adduser ftptest

ftptest用户设置密码:

passwd ftptest

此时需要输入两次密码(回车确认密码)(又双叒忘记截图了TAT),如果密码太简单可能会提示BAD PASSWORD,这里只是测试问题不大,实际生产实践中建议设置复杂一些的密码,且尽量禁止FTP被不必要的用户访问。

接下来,创建一个供ftptest用户使用的文件目录并转移拥有权。

mkdir /var/ftp/test
chown -R ftptest:ftptest /var/ftp/test

然后修改FTP配置文件vsftpd.conf。下面提供两种配置模式,如果没有特殊需要的话建议选择被动模式,以防止连接建立后无法成功传输数据,两个模式的具体区别请另行百度。

A. 主动模式版本

# 禁止匿名登录FTP服务器 
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf 
# 监听IPv4 sockets 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf 
# 关闭监听IPv6 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf 
# 全部用户被限制在主目录 
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf 
# 启用例外用户名单 
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf 
# 指定例外用户列表文件,列表中的用户不被锁定在主目录 
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf 
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf 
# 设置本地用户登录后所在的目录
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf 

B.被动模式(推荐)

# 禁止匿名登录FTP服务器 
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf 
# 监听IPv4 sockets 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf 
# 关闭监听IPv6 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf 
# 全部用户被限制在主目录 
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf 
# 启用例外用户名单 
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf 
# 指定例外用户列表文件,列表中的用户不被锁定在主目录 
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf 
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf 
# 设置本地用户登录后所在的目录 
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf 

# 开启被动模式 
echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf 

#【需要修改命令】本教程中为ECS服务器弹性IP
echo "pasv_address=<FTP服务器公网IP地址>" >> /etc/vsftpd/vsftpd.conf 
# 设置被动模式下,建立数据传输可使用的端口范围的最小值 
echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf 
# 设置被动模式下,建立数据传输可使用的端口范围的最大值
echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf 

然后,使用vim编辑chroot_list文件,添加例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。

vim /etc/vsftpd/chroot_list

说明:没有例外用户时,也必须创建chroot_list文件,内容可为空,可以直接使用下面的命令创建空文件:

touch /etc/vsftpd/chroot_list

最后重启FTP服务。

systemctl restart vsftpd.service

客户端测试

FTP客户端、Windows命令行工具或浏览器均可用来测试FTP服务器。这里以浏览器为例:

  1. 打开Chrom浏览器,在地址栏中输入ftp://<FTP服务器公网IP地址>:FTP端口,FTP服务器公网IP地址为ECS服务器的弹性IP地址。例如:ftp://139.0.0.1:21。当然,由于本文中未修改FTP默认端口,所以不加端口号也是可以的,即ftp://139.0.0.1
  2. 在弹出的对话框中,输入之前设置好的用户名和密码。
  3. 成功界面如下,此时可对FTP文件进行相应权限的操作。

image.png

说明:使用浏览器访问FTP服务器出错时,建议您清除浏览器缓存后再尝试。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
弹性计算
学生申请阿里云服务器流程,云工开物免费领取云服务器
学生可免费领取或低价购买阿里云服务器。通过“云工开物”计划,学生可申领300元无门槛代金券,用于购买指定云服务器产品。新用户可选38元/年的轻量应用服务器,老用户可选99元/年的ECS服务器,续费同价。具体优惠及操作流程可参考阿里云官方页面。
|
1月前
|
存储 弹性计算 网络协议
阿里云服务器ECS自定义购买流程:亲测图文全解析
本文详细图解阿里云ECS自定义购买全流程,涵盖付费模式、地域选择、实例规格、镜像、存储、网络、安全组及登录设置等核心配置,助您轻松掌握专业级云服务器搭建方法。
132 0
|
3月前
|
存储 弹性计算 容灾
新手小白如何购买阿里云服务器?2025最新图文流程
本文详细介绍阿里云ECS服务器自定义购买全流程,涵盖付费模式、地域、网络、实例规格、镜像、存储、公网IP、带宽、安全组等配置选择,帮助用户全面了解如何根据需求选购阿里云服务器。
516 2
|
3月前
|
存储 弹性计算 运维
阿里云服务器介绍:什么是ECS、使用场景及租用流程(图解)
阿里云服务器ECS是阿里云提供的虚拟化计算服务,用户可按需租赁使用,无需自建机房。它具备高可用、高安全、弹性伸缩、成本节约等优势,适用于网站搭建、数据应用、运维测试等多种场景。本文详解ECS组成、架构、使用方法及与传统服务器的区别。
602 3
|
3月前
|
存储 弹性计算 数据库
阿里云服务器购买流程:四种主要购买方式图文教程详解与选择参考
阿里云服务器如何购买?当前阿里云提供了自定义购买、快速购买、通过活动购买和通过镜像市场购买四大主流购买模式,本文将通过图文方式为您展示每种购买方式的具体流程与适用场景,以供选择参考。
|
4月前
|
存储 弹性计算 Linux
阿里云服务器试用与购买参考:试用与购买流程及相关规则和注意事项
阿里云服务器购买与试用全指南,阿里云每年都会推出针对新用户的免费试用活动,帮助用户低成本体验云服务的强大功能。本文将为大家解析阿里云服务器的购买与试用流程,包括注册认证、领取免费额度、选择实例配置全流程,帮助新手用户快速上手,避免操作误区。
|
4月前
|
弹性计算 关系型数据库 数据库
阿里云服务器ECS是什么?ECS应用场景、租用流程及使用教程整理
阿里云ECS(弹性计算服务)是性能稳定、弹性扩展的云计算服务,支持多种处理器架构和实例类型,适用于网站托管、开发测试、数据存储、企业服务、游戏多媒体及微服务架构等场景。提供从注册、配置到部署、运维的完整使用流程,助力用户高效上云。
|
3月前
|
存储 弹性计算 Linux
阿里云服务器从零到精通的购买指南,云服务器购买流程及注意事项参考
对于许多初次接触阿里云服务器的用户而言,如何选择云服务器配置以及在选购过程中有哪些注意事项,是新手用户比较关心的问题。本文为大家展示阿里云服务器选购的完整指南,涵盖了通过云服务器ECS产品页下单的详细步骤,以及通过阿里云的活动选购价格比较实惠的云服务器。重点是介绍每一步的注意事项,以供初次选购阿里云服务器的个人开发者和企业用户参考,尽量一次选购好,避免出现买错从新买的情况出现。
|
1月前
|
弹性计算 网络协议 Linux
阿里云服务器简介及使用教程,附送云服务器ECS自定义创建流程
阿里云ECS是安全可靠、弹性灵活的云计算服务,支持多种实例规格与操作系统,可快速创建和管理云服务器。本文详解ECS介绍、购买流程及使用教程,涵盖配置选择、网络设置、安全组规则等,助您轻松上手。
360 16
下一篇
oss云网关配置