本文档介绍在 Linux 云服务器上搭建 FTP 服务的操作。本例使用 CentOS 7.2 64 位系统进行示例,使用 vsftpd 作为 FTP 服务端,FileZilla 作为客户端。
步骤一:安装 vsftpd
登录云服务器。安装软件。输入命令:
yum install vsftpd -y
界面出现“ Complete ! ”,表示已安装完成。步骤二:启动 vsftpd 服务
启动服务。输入命令:systemctl start vsftpd
命令确认是否启动。输入以下命令,出现图中展示内容即表示已经启动。netstat -tunlp
公网访问确认是否启动。
通过以下命令安装 telnet 服务
yum -y install telnet 在其他联网计算机上,通过命令行进行测试: telnet + 云服务器公网 IP + 21 出现下图内容即表示已经启动。步骤三:编辑 vsftpd 配置文件
在云服务器中,输入命令:vi /etc/vsftpd/vsftpd.conf编辑内容,状态更改为不允许匿名登录。按下键盘【a】开启编辑,将文件中的anonymous_enable=YES改为 anonymous_enable=NO ,修改完成后按下键盘【Esc】,任意位置输入:write保存修改,输入:quit退出编辑。
步骤四:添加 FTP 用户
添加用户。本例添加名为 ftpuser1 的用户。输入命令:useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1设置用户登录密码。本例为 ftpuser1 用户设置登录密码。输入命令:passwd ftpuser1,输入密码并确认即可。
常见问题
问题描述 部分用户在本地使用 FTP 客户端连接时可能遇到连接超时和读取目录列表失败的问题。如下图所示。问题出现在 PASV 命令处。原因在于 FTP 协议在腾讯云网络架构上的不适。FTP 客户端默认被动模式传输,因此在通信过程中会去寻找服务器端的 IP 地址进行连接,但是由于腾讯云的外网 IP 不是直接配在网卡上,因此在被动模式下客户端无法找到有效 IP (只能找到云服务器内网 IP ,内网 IP 无法直接和外网通信),故无法建立连接。
解决途径
将客户端传输模式改为主动即可; 如果客户端网络环境要求被动模式,那么需要在服务端 步骤三 中配置文件中新增这些语句: pasv_address=XXX.XXX.XXX.XXX //(外网 IP) pasv_enable=YES pasv_min_port=1024 pasv_max_port=2048