当有了服务器之后,可以添加各种各样的功能,如ftp,用于文件传输。
本文以CentOS8.2系统为例,使用vsftpd工具。
1.操作步骤
- 安装
yum -y install vsftpd
- 添加ftp登录用户
#用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
adduser -s /bin/false -d /var/ftp zhy
# 设置ftp登录用户的密码
passwd zhy
把新增的用户zhy添加到列表文件中/etc/vsftpd/user_list
- 添加安全规则 进入阿里云控制台,选择轻量应用服务器->服务器列表->应用搭建->服务器安全设置->防火墙,添加安全规则,选择ftp
- 配置ftp
终端输入
vi /etc/vsftpd/vsftpd.conf即可
pam_service_name=vsftpd
local_root=/var/ftp #登录的ftp目录
userlist_enable=YES
userlist_deny=NO #与userlist_enable搭配使用,此时user_list是一个白名单
userlist_file=/etc/vsftpd/user_list #白名单列表
- 可以登录指定目录,且不可以cd到其它目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/user_list
allow_writeable_chroot=YES #此步如果不配置会导致问题5出现
2.偶遇
- 530 Login incorrect. ftp: Login failed.
先查看用户名密码是否输入错误
创建ftp登录用户zhy时,主名称和登录shell(/bin/false)需要在系统文件/etc/shells中添加, 如把/bin/false添加到/etc/shells中即可
- Add correct host key in /Users/./.ssh/known_hosts to get rid of this message. Offending ECDSA key in /Users/hengyi.zhang/.ssh/known_hosts:1 ECDSA host key for 101.37.245.158 has changed and you have requested strict checking.
此问题是由于.ssh文件夹被删除导致,把ip地址添加一下即可:
ssh-keygen -R 101.37.245.158
- 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
配置
allow_writeable_chroot=YES即可
- 200 PORT command successful. Consider using PASV. 553 Could not create file. 此问题一般是使用终端命令进行文件传输时提示的。按照提示需要考虑使用PASV模式。
解决:切换成passive模式,直接输入命令passive即可切换
小Tips:
MacOS端可使用的免费ftp工具:ForkLift