准备开始物联网之旅,因此购买了阿里云的服务器。因为才开始使用,40G的空间还是很充裕的,所以考虑搭建自己的FTP服务器,方便资料保存。然而,阿里云使用FTP和VMWare上,亦或是树莓派等局域网内使用有很大的区别,因此搭建了两三天才搞定,再次记录下来,方便自己或广大网友参考。
说明:
我之前开发熟悉了使用Ubuntu,因此购买阿里云时也选择Ubuntu作为系统,但在配置FTP时,几乎准备换成Windows了,但最后的坚持还是胜利的。毕竟大多数人认为没有图形界面的Linux性能还是高于Windows的。
阿里云同时还会提供两个IP,分别是公网IP和私有IP,现假设公网IP为xxx.xxx.xxx.xxx,私有IP为yyy.yyy.yyy.yyy.同时会设置root账号和密码。
在购买的阿里云服务器默认可以使用PuTTY登陆。现使用xxx.xxx.xxx.xxx的22号端口使用root账号密码登陆。
1、修改阿里云服务器名
命令 vi /etc/hostname
将文本内容修改为自己喜好的名字,注意:重启后才能生效。
2、添加用户
最好不适用root登陆,所以添加用户
命令 useradd -m -s /bin/bash xxxx -g ftp
修改用户密码,passwd xxx
测试登陆
3、分别在home和xxx目录中分别添加123.txt和456.txt
命令
cd /home
echo 123 > 123.txt
echo 456 > 456.txt
4、安装vsftpd
命令
apt-get update
apt-get install vsftpd
service vsftpd start
ps -e | grep vsftpd
最后命令可以看到vsftpd已经启动了
到目前为止,你已经可以通过ftp在本地下载东西了,
测试命令
ftp yyy.yyy.yyy.yyy
xxx
密码
--->登陆成功
ls
--->可以看见456.txt在列表中
get 456.txt
--->成功
put 123.txt
--->失败
bye
删除home下的456.txt
修改配置/etc/vsftpd.conf
去掉write_enable=YES的注释
去掉local_umask=022的注释
重启vsftpd服务
现在在运行ftp yyy.yyy.yyy.yyy就可以成功上传下载了。
5、远程上传下载配置
配置vsftpd.conf
修改vsftpd.conf在最后添加命令如下,使能PASV模式。
pasv_enable=yes
pasv_min_port=30001
pasv_max_port=31000
pasv_promiscuous=yes
如图:
重启vsftpd服务。
6、开启安全组
在网页上登陆阿里云账号。
在控制台中进入云服务ECS。
在选择安全组。
在你的设备组中可以看到
进入配置规则中,点击“添加安全组规则”设置成如下:
等待3-4分钟后,就ok了
7、设置防火墙iptables
命令
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 30001:31000 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 30001:31000 -j ACCEPT
8、测试
命令
ftp xxx.xxx.xxx.xxx
使用xxx账登陆,登陆成功。
使用ls命令,发现500错误,提示port被占用。
输入passive,切换模式后就可以正常上次、下载了。
测试完成。
9、8uftp软件使用。
使用默认方式连接时,发现可以登陆,但不能获取文件列表也不能上传下载。
文件-->站点管理器-->我的FTP站点-->添加站点后进入-->高级-->选择“活动模式”(默认时被动模式)
然后连接到此站点就可以正常上传下载了。
特别说明,在阿里云官网给出的测试中都使用的20端口,但实际上我的所有测试都不能使用20端口。