:在Azure安装好ubuntu虚拟机,安装包选择ubuntu14.04 LTS,选择LTS,以便微软对其以后的更好支持,不选就可能技术支持不会很久,现只开一台,端口默认选择22
:打开虚拟机,进入端点设置,已经启用端口22
:在本地windows中用Xshell连接虚拟机,用ssh2方式,主机地址在虚拟机的仪表盘下面ssh详细信息看到,端口选22
:连接成功了先安装vsftpd : sudo apt-get install vsftpd
: 然后配置:sudo vim /etc/vsftpd.conf
:为了安全考虑以及各个方面的原因:禁止了匿名,禁止了主动模式,没有配置本地用户登录,用了虚拟用户登录
:关于主动模式和被动模式,有必要了解,这里我用的是被动模式
这里我参考了:http://blog.csdn.net/gavin_dinggengjia/article/details/7538118 (配置虚拟用户)
http://www.cnblogs.com/acpp/archive/2010/02/08/1665876.html (配置虚拟用户)
这两个互取长处.
1、其中,需要先安装db_load,可以目前较新的db6.0_util,然后把db4.6_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db中的db4.6换成6.0就好了
2、还有个坑是PAM授权文件
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
我的按照这样设置就登不上,然后网上搜索了一下,去掉了/lib/security/这一截,改成了
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
我在他们之间用的Tab对齐
3、对于设置的 /home/ftp文件夹,很有必要说明一下权限问题,去掉他的w(写)权限
chmod a-w /home/user
但是要有一定的权限,所以可以先加个777或700之后再去掉w权限
参考URL:http://eamin.net/vsftpd-500-oops/
4、在/home/ftp下再建立一个新文件夹,我给它777权限,这个文件夹可以用来上传下载都可以了,其他的都可以照样子配置了
:有必要了解ubuntu权限相关的部分,比如777、700、600等
:然后是主动模式和被动模式的选择
我用被动模式,原因:因为它是对主动模式的补充
当你不知道下载软件选择什么版本的时候,不要犹豫,果断用最新的,作为开发人员,与时俱进,你不支持别人的最新版本,如何让你的客户接受你发布的新版
在conf配置文件中加入
pasv_enable=YES
pasv_max_port=30019
pasv_min_port=30000
(注意:上面Max是最大端口号,min是最小的,取值为中间这个范围)
然后在Azure的虚拟机打开端点,添加这20个端口,选择的是tcp方式
还有一点是内外网的原因:相当于2边都用了路由器,所以还要配置一个:
pasv_address=xx.xxx.xx.x (这个很多时候很有必要,网上好多都没有提及,大坑)
当然,如果是本地连接就不需要这些了
:这其中,我还遇到了一些nat的问题,不过都是自己乱来的,完全用不着往那方面想
:我用FileZilla进行的ftp传文件等操作,FileZilla打开编辑->设置->FTP->传输模式选择被动。把失败后允许退回到其他传输模式前面的勾去掉,这样做是因为我只需要被动方式连接,不用主动模式。
:可能设涉及到的一些防火墙知识:百度google很多的,我就记这几个
#ufw enable
#ufw status
#ufw allow 22
:现在应该就可以上传下载文件了吧,主要收集了一大堆对这个有用的网址,感谢这些网址的大神些了
URL:http://blog.sina.com.cn/s/blog_76fbd24d010134p9.html
http://www.cnblogs.com/acpp/archive/2010/02/08/1665876.html
http://blog.csdn.net/gavin_dinggengjia/article/details/7538118 (虚拟用户)
http://eamin.net/vsftpd-500-oops/
http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html (netstat命令)
http://www.seowhy.com/bbs/thread-13199384-1-1.html
http://zhumeng8337797.blog.163.com/blog/static/100768914201041411362557/
http://www.tuicool.com/articles/IfMBry
http://www.3lian.com/edu/2013/05-18/70558.html
外文的:http://serverfault.com/questions/421161/how-to-configure-vsftpd-to-work-with-passive-mode
http://www.krizna.com/ubuntu/setup-ftp-server-on-ubuntu-14-04-vsftpd/