由于ECS本身默认不安装FTP服务,因此我将为您提供从零开始的完整指南,包括安装、配置、运行状态查看以及最重要的安全注意事项。
您需要连接到您的ECS服务器(通过SSH),然后根据您的操作系统(Linux或Windows)执行以下操作。
Linux上最常用的FTP服务器是vsftpd
(Very Secure FTP Daemon)。
检查是否已安装
# 检查 vsftpd 是否已安装 rpm -qa | grep vsftpd # 适用于CentOS/RedHat 或 dpkg -l | grep vsftpd # 适用于Ubuntu/Debian # 如果已安装,会显示版本信息,vsftpd-3.0.2-29.el7_9.x86_64 # 如果没有任何输出,则表示未安装。
检查服务运行状态
# 使用 systemctl 命令检查 vsftpd 服务的状态 systemctl status vsftpd # 如果服务正在运行,你会看到 "active (running)" 的字样。 # 如果服务已停止,会显示 "inactive (dead)"。 # 如果这个服务不存在,会提示 "Unit vsftpd.service could not be found.",意味着可能未安装。
Windows Server 通常使用IIS(Internet Information Services) 来搭建FTP服务器。
1、 远程登录到您的Windows ECS。
2、 打开服务器管理器。
3、 在左侧菜单中,点击仪表板。
4、 查看角色和服务器功能 部分,检查是否已安装Web服务器(IIS) 角色,并且确认其子功能中包含FTP服务器。
5、 打开IIS管理器,如果左侧连接栏中有FTP站点的图标,说明FTP服务已安装并有站点运行。
情况二:安装和配置FTP服务(如果尚未安装)
如果您检查后发现没有安装,以下是安装和配置的简要步骤。
在 Linux (CentOS/RedHat) 上安装 vsftpd
1、安装
yum update -y # 更新系统包 yum install -y vsftpd # 安装vsftpd
2、启动并设置开机自启
systemctl start vsftpd # 启动服务 systemctl enable vsftpd # 设置开机自动启动 systemctl status vsftpd # 再次确认状态是否为 running
3、基本配置 (编辑配置文件)
vi /etc/vsftpd/vsftpd.conf
需要关注的关键配置项
anonymous_enable=NO
(禁止匿名登录,更安全)
local_enable=YES
(允许本地系统用户登录)
write_enable=YES
(允许写操作,如上传文件)
local_root=/var/www/html
(可以设置用户登录后的根目录,非必需)
pasv_enable=YES
(启用被动模式,这对在云服务器上使用FTP至关重要)
pasv_min_port=30000
(设置被动模式端口范围)
pasv_max_port=31000
(设置被动模式端口范围)
4、重启服务生效
systemctl restart vsftpd
在 Windows 上安装 FTP (通过IIS)
1、 打开服务器管理器 ->添加角色和功能。
2、 一路点击“下一步”,直到“服务器角色”页面。
3、 勾选Web服务器(IIS)。
4、 在弹出的子功能窗口中,展开FTP服务器,勾选FTP服务 和FTP扩展。
5、 继续点击“下一步”并“安装”。
6、 安装完成后,在IIS管理器 中右键“站点” -> “添加FTP站点”,根据向导进行配置(设置站点名称、物理路径、绑定IP和SSL设置等)。
Linux (vsftpd) 查看实时连接
# 查看当前是否有FTP连接(会显示ftp进程) ps -ef | grep ftp # 或者使用netstat查看21端口的连接情况 netstat -tulnp | grep :21
查看日志
* vsftpd的日志通常位于/var/log/vsftpd.log
或/var/log/messages
,具体位置取决于/etc/vsftpd/vsftpd.conf
中的xferlog_file
和syslog
配置。
使用tail
或cat
命令查看
tail -f /var/log/vsftpd.log
Windows (IIS) 查看日志
* 打开事件查看器 ->Windows 日志 ->应用程序,筛选来源为FTPSVC 的事件。
* IIS的FTP详细日志默认存放在C:\inetpub\logs\LogFiles\FTPSVCxx
目录下。
⚠️ 最重要的一步:配置阿里云安全组
这是很多用户连接失败的主要原因!ECS位于虚拟网络中,端口默认是关闭的,您必须在阿里云控制台开放相应的端口。
1、 登录阿里云ECS控制台。
2、 找到您的实例,点击进入详情页。
3、 在左侧栏或网络信息部分,找到并点击安全组。
4、 点击配置规则。
5、 添加入方向 规则:
规则 1 (控制连接):
授权策略允许
协议类型TCP
端口范围21/21
授权对象0.0.0.0/0
(允许所有IP访问) 或您的本地公网IP/32
(更安全,只允许您的电脑访问)
规则 2 (被动模式数据传输):
授权策略允许
协议类型TCP
端口范围30000/31000
(必须与vsftpd.conf
中设置的pasv_min_port
和pasv_max_port
完全一致!)
授权对象同上。
完成以上所有步骤后,您就可以使用FileZilla、WinSCP等FTP客户端,使用ECS的系统用户名和密码(Linux)或Windows用户来连接您的FTP服务器了。
连接地址为:ftp://您的ECS公网IP地址
FTP协议(端口21)是明文传输的,密码和数据极易被窃取,非常不安全,对于云服务器,强烈建议使用更安全的方案:
1、SFTP (SSH File Transfer Protocol)
优点基于SSH协议(端口22),加密所有传输数据,Linux ECS默认开启SSH服务,无需额外安装任何软件即可使用SFTP。
使用方法直接用任何支持SFTP的客户端(如FileZilla、WinSCP),选择协议为SFTP,使用SSH的账号密码或密钥登录即可。这是最简单、最推荐的方式。
2、FTPS (FTP over SSL)
* 是FTP的安全升级版,通过SSL/TLS加密,配置比SFTP复杂,需要管理证书。
如果您只是想安全地在本地和ECS之间传输文件,直接使用SFTP是最佳选择,省时省力又安全。
文章摘自:https://idc.huochengrm.cn/zj/13749.html
评论
忻烨霖
回复本指南提供了从检查、安装到配置FTP服务的详细步骤,包括安全设置和替代方案,确保您的ECS服务器安全稳定地运行FTP服务。