创建ECS资源
这里可以使用自动生成的ECS服务器,也可以使用自己购买的云服务器
服务器的信息
已创建|已运行
弹性IP:106.14.245.75(远程连接要用)
私有地址:172.16.1.141
用户:root (远程连接要用)
密码:Cv9Ip5Lh7Io1 (远程连接要用)
实例:i-uf65mbkzmyf5wrn3u1ia
实例名:u-v2rpw7fe
地域:华东 2 (上海)
远程连接ECS服务器
打开终端连接服务器
使用终端操作云服务器
连接服务器的几种工具
Windows:cmd,powershell
Mac:terminal
这里我使用的是Xshell5,界面更加美观
xshell5连接服务器步骤
输入正确的弹性IP,服务器用户名、密码后登陆后提示,是否接受密钥并保存,一键接受即可,操作成功过后,运行结果和windows的cmd结果相同。
安装vsftpd服务
执行以下命令提示complete!后安装成功
执行一下命令初始化vsftpd
systemctl start vsftpd.service #启动vsftpd服务
systemctl status vsftpd.service #查看服务运行状态
netstat -antup | grep ftp # 查看ftp服务监听的端口
执行以上命令,运行结果如图:
配置vsftpd
简介
vsftpd(very secure FTP daemon)是一款在Linux发行版中最受推崇的FTP服务器。vsftpd支持匿名访问和本地用户模式两种访问方式。匿名访问方式任何用户都可以访问搭建的FTP服务;本地用户模式只支持添加的本地用户访问搭建的FTP服务。
配置(匿名用户模式)
按esc后,/anon_upload,快速定位到此修改项
把anon_upload_enable=YES 的注释解开
执行esc后:wq 修改后保存
配置(本地用户模式)
添加一个ftp用户,并配置密码
adduser ftptest
passwd ftptest
为其他用户添加可写的权限,对/var/ftp/pub
chmod o+w /var/ftp/pub/
创建ftp服务使用的文件目录
mkdir /var/ftp/test
更改目录的拥有者为刚才创建的用户
chown -R ftptest:ftptest /var/ftp/test
修改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 #设置本地用户登录后所在的目录
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 #设置被动模式下,建立数据传输可使用的端口范围的最大值
在/etc/vsftpd目录下创建chroot_list文件,并在文件中写入例外用户名单
重启vsftpd
客户端测试
使用谷歌浏览器测试
如果使用自己购买的服务器,则需要设置安全组