基于ECS搭建FTP服务

简介: 本教程介绍如何在Linux实例上安装并配置vsftpd,在被动模式下,使用本地用户访问FTP服务器的配置方法。。

基于ECS搭建FTP服务

1. 选择实验资源

本实验支持实验资源体验、开通免费试用、个人账户资源三种实验资源方式。

在实验开始前,请您选择其中一种实验资源,单击确认开启实验

  • 如果您选择的是实验资源体验,资源创建过程需要3~5分钟(视资源不同开通时间有所差异,ACK等资源开通时间较长)。完成实验资源的创建后,在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如子用户名称、子用户密码、AK ID、AK Secret、资源中的项目名称等)。

说明:实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建。

  • 如果您选择的是开通免费试用,下方卡片会展示本实验支持的试用规格,可以选择你要试用的云产品资源进行开通。您在实验过程中,可以随时用右下角icon唤起试用卡片。

说明:试用云产品开通在您的个人账号下,并占用您的试用权益如试用超出免费试用额度,可能会产生一定费用。

阿里云支持试用的产品列表、权益及具体规则说明请参考开发者试用中心


2. 安装vsftpd

  1. 在实验室页面左侧,单击 图标,切换至Web Terminal,连接云服务器ECS。

如您选择的是公共资源,则会自动连接到实验室提供的云服务器ECS。

如您选择的是试用资源/个人资源,需输入ECS登录的用户名和密码进行登录。

  1. 运行以下命令安装vsftpd。
yum install -y vsftpd

返回如下图所示界面时,表示安装成功。

  1. 运行以下命令设置FTP服务开机自启动。
systemctl enable vsftpd.service
  1. 启动FTP服务。
systemctl start vsftpd.service
  1. 运行以下命令查看FTP服务监听的端口。
netstat -antup | grep ftp

返回如下图所示结果,表示FTP服务已启动,监听的端口号为 21。此时,vsftpd默认已开启匿名访问功能,您无需输入用户名密码即可登录FTP服务器,但没有修改或上传文件的权限。


3. 配置vsftpd

vsftpd(very secure FTP daemon)是一款在Linux发行版中最受推崇的FTP服务器。vsftpd支持匿名访问和本地用户模式两种访问方式。匿名访问方式任何用户都可以访问搭建的FTP服务;本地用户模式只支持添加的本地用户访问搭建的FTP服务。

说明: 匿名用户模式和本地用户模式只可同时配置一种。

本实验主要介绍被动模式下,使用本地用户访问FTP服务器的配置方法。其他模式配置方法,详情请参见手动搭建FTP站点(CentOS 7)

  1. 运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest
adduser ftptest
  1. 运行以下命令修改ftptest用户的密码。运行命令后,根据命令行提示完成FTP用户的密码修改。
passwd ftptest

  1. 运行以下命令创建一个供FTP服务使用的文件目录。
mkdir /var/ftp/test
  1. 运行以下命令,创建测试文件。

该测试文件用于FTP客户端访问FTP服务器时使用。

touch /var/ftp/test/testfile.txt
  1. 运行以下命令更改/var/ftp/test目录的拥有者为ftptest。
chown -R ftptest:ftptest /var/ftp/test
  1. 依次运行以下命令,修改vsftpd.conf配置文件,配置FTP为被动模式。

注意:您需要将echo "pasv_address=<FTP服务器公网IP地址>" >> /etc/vsftpd/vsftpd.conf命令中的<FTP服务器公网IP地址>替换为本实验ECS服务器的公网IP或弹性IP。

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets 
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 #开启被动模式 
echo "pasv_address=<FTP服务器公网IP地址>" >> /etc/vsftpd/vsftpd.conf #本教程中为ECS服务器弹性IP 
echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最小值 
echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最大值
  1. 创建chroot_list文件,并在文件中写入例外用户名单。

7.1 运行以下命令,创建chroot_list文件。

vim /etc/vsftpd/chroot_list

7.2 按i进入编辑模式。

7.3 输入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。本示例中,没有例外用户,可以不输入例外用户名单。

7.4按ECS退出编辑模式,然后输入:wq并回车以保存并关闭文件.

说明: 没有例外用户时,也必须创建chroot_list文件,内容可为空。

  1. 运行以下命令重启vsftpd服务。
systemctl restart vsftpd.service


4. 配置安全组

搭建好FTP服务后,在ECS实例安全组的入方向添加规则并放行下列FTP端口。

说明: 大多数客户端位于局域网中,IP地址是经过转换的,因此ipconfig或ifconfig命令返回的IP不一定是客户端的真实公网IP地址。若后续客户端无法登录FTP服务器,请重新确认其公网IP地址。

  1. 单价右侧 图标,返回虚拟桌面。 双击打开桌面 FireFox ESR浏览器,在RAM用户登录框中点击 下一步,复制 云产品资源 列表中 子用户密码 粘贴(lx shell粘贴快捷键ctrl+shift+v,其他地方粘贴是ctrl+v)到浏览器 RAM用户登录界面,即可登录当前子账号。

  1. 单价左上角菜单按钮。

  1. 在展开的界面,找到云服务器ECS,进入云服务器控制台。

  1. 在左侧导航栏,选择实例与镜像>实例

  1. 在云服务器控制台页面上方菜单栏,选择资源所在地域。例如,下图中地域切换为华东2(上海)。

说明:您可以在云产品资源列表中查看到您的云服务器ECS所在地域。

  1. 实例页面,单击实例ID

  1. 实例详情页签的基本信息区域,单击安全组

  1. 安全组规则页签的访问规则区域,选择入方向>手动添加

说明:

a. 0.0.0.0/0为允许所有IP地址访问,可以根据您本地公网IP地址或网段进行设置来增加安全性(浏览器中输入IP即可查看您本地IP地址)。

b. 为方便进行实验,当前端口范围开放所有端口,最好根据自身需求设置端口范围,例如ftp开放21端口,数据库开放3306端口等。

  1. 添加配置,具体配置如下图,然后单击保存


5. 客户端测试

FTP客户端、Windows命令行工具或浏览器均可用来测试FTP服务器。(此步骤仅适用于本地用户,匿名模式无需进行测试操作)

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

1. 在您的本地主机,打开此电脑

2. 在地址栏中输入ftp://<FTP服务器公网IP地址>:FTP端口,FTP服务器公网IP地址为ECS服务器的弹性IP地址。例如:ftp://127.0.0.1:21。

说明:如果您使用Mac OS系统,您可使用浏览器访问。

3. 在弹出的对话框中,输入用户名和密码(第3节中配置的用户名和密码)。

4. 登录成功界面如下,您可在FTP服务器中查看到testfile.txt文件,此时您也可对FTP文件进行相应权限的操作。

注:

如果连接时出现以下错误:

解决方法:

打开本地电脑的控制面板找到Internet选项-高级-去掉【使用被动FTP(用于防火墙和DSL调制解调器的兼容)】前面的对勾,点击右下角应用。在访问就好了。


实验链接:https://developer.aliyun.com/adc/scenario/74b64efe414c47fbaf305957a7fb458b

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
弹性计算 监控 负载均衡
|
2月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
131 60
|
2月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
258 62
|
1月前
|
弹性计算 人工智能 数据安全/隐私保护
【手把手教你】如何免费畅快使用阿里云ECS搭建私有Overleaf论文写作服务
本文详细介绍如何利用阿里云ECS免费搭建私有Overleaf论文写作服务,包括ECS服务器的部署、Overleaf服务的安装、TexLive包的更新、XeLaTeX修复、中文字体支持及账号管理等步骤。通过这些操作,你可以实现免费且高效的多人协作论文写作,避免付费版本的高昂费用。适合需要频繁合作撰写论文的团队使用。
81 1
【手把手教你】如何免费畅快使用阿里云ECS搭建私有Overleaf论文写作服务
|
1月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
199 3
|
2月前
|
网络安全 数据安全/隐私保护
FTP服务搭建
FTP服务搭建
30 0
|
2月前
|
安全 网络协议 网络安全
Windows Server 2003 FTP服务器搭建
Windows Server 2003 FTP服务器搭建
|
2月前
|
网络安全 Docker 容器
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
29 0
|
2月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
弹性计算 网络协议 Linux

相关产品

  • 云服务器 ECS