FTP服务配置-基于华为云服务器
·
因为做项目的时候需要将一些数据定时通过FTP上传到服务器,所以需要在服务端搭建FTP服务。具体的步骤如下:
- 连接华为云服务器后,执行以下命令新建用户:
sudo adduser userftp - 安装vsftpd:
sudo apt-get update sudo apt-get install vsftpd - 修改配置文件:
配置文件中的内容如下:sudo vim /etc/vsftpd.conf# 如果设置为"listen=YES",则表示vsftpd将作为独立守护进程运行。 listen=NO # 设置vsftpd是否启用IPv6监听。 listen_ipv6=YES # 设置是否允许匿名FTP登录。 anonymous_enable=NO # 设置是否允许本地用户登录FTP服务器。 local_enable=YES # 设置是否启用目录消息功能。 dirmessage_enable=YES # 设置是否启用本地时间功能。 use_localtime=YES # 设置是否启用上传和下载日志记录功能。 xferlog_enable=YES # 设置数据传输的端口号。 connect_from_port_20=YES # 指定了一个空目录作为安全chroot() jail。 # 在某些情况下,vsftpd不需要访问文件系统,因此可以将FTP用户限制在这个空目录中,以增强安全性。 # 该目录应该为空,并且不应该被FTP用户写入。 secure_chroot_dir=/var/run/vsftpd/empty # 指定vsftpd将使用的PAM服务的名称。 pam_service_name=vsftpd # 用于指定在SSL加密连接中使用的RSA证书的位置。 # 通过设置rsa_cert_file和rsa_private_key_file选项来指定RSA证书和私钥的位置。 # 其中,rsa_cert_file选项用于指定证书文件的位置,而rsa_private_key_file选项用于指定私钥文件的位置。 rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO # 以下这些行是新加的,上面的那些行是默认的 userlist_deny=NO userlist_enable=YES userlist_file=/etc/allowed_users seccomp_sandbox=NO local_root=/home/userftp/ local_enable=YES write_enable=YES utf8_filesystem=YES #是否开启被动模式,最好开启,不然有可能连接不上 pasv_enable=YES # 华为云的IP地址 pasv_address=123.60.84.95 # 设置被动模式下,建立数据传输可使用的端口范围,建议把端口范围设置在一段比较高的范围内,有助于提高访问FTP服务器的安全性。 pasv_min_port=50000 pasv_max_port=50010 - 创建/etc/allowed_users文件,并写入用户名:
文件中的内容如下:sudo vim /etc/allowed_usersuserftp - 设置安全组:需要在服务器的安全组里开放20-21端口,还需要开放pasv_min_port和pasv_max_port设置的端口。

- 修改共享文件夹的权限:
chmod -R 777 /home/userftp - 重启vsftpd:
sudo /etc/init.d/vsftpd restart - 查看vsftpd状态:
sudo /etc/init.d/vsftpd status
active表示启动成功。 - 使用winscp进行客户端测试:

可以发现连接成功,并可以进行文件上传和下载:
- 常见错误:
winscp可以成功连接服务器,但是没有权限进入目录,有可能是因为没有开启被动模式。
更多推荐
所有评论(0)