Ubuntu1604安装ftp服务器
o1有问题时完全卸载vsftpd
o2安装vsftpd
o3创建ftp用户
o4配置vsftpdconf
o5启动停止重启服务
o6访问ftp服务器
1、有问题时完全卸载vsftpd
sudo apt-get purge vsftpd
2、安装vsftpd
sudo apt-get install vsftpd
3、创建ftp用户
方法一:直接在系统设置添加用户
方法二:
创建用户目录 sudo mkdir /home/uftp
创建用户 sudo useradd -d /home/uftp -s /bin/bash ftpadmin
修改密码 sudo passwd ftpadmin
4、配置vsftpd.conf
sudo vi /etc/vsftpd.conf
编辑vsftpd.conf文件
userlist_deny=NOuserlist_enable=YES#允许登录的用户userlist_file=/etc/allowed_usersseccomp_sandbox=NO#默认ftp下载目录local_root=/home/uftp/
local_enable=YES#设置文件上传
write_enable=YES#使用utf8
utf8_filesystem=YES
添加允许登录的用户文件
sudo vi /etc/allowed_users
写入:ftpadmin
5、启动停止重启服务
sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop
sudo /etc/init.d/vsftpd restart
6、访问ftp服务器
sudo ftp 127.0.0.1
浏览器访问
ftp://127.0.0.1
或者
ftp://localhost
远程访问时使用实际ip ftp://your_ip
查看ip
ifconfig
vsftp:425 failed to establish connection解决办法
先到CMD或者linux终端用命令行模式ftp命令测试一下,
如果能登录,不能使用ls或者dir命令。
那就说明,主要问题在端口被防火墙控住。
提示语句:
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
这时候,可以在ftp下使用命令:quote PASV
试试用以被动模式连接。
一般DOS命令行下都是默认以PORT主动模式连接。
即,端口21监听,处理控制信息,再以端口20连接客户端进行数据传送。
而,经常的,通过外网的NAT的,基本端口20的数据连接都会被禁止掉。
所以,如果想对外网开放ftp,最好使用PASV模式。
PASV被动模式是指,以端口21监听,有连接请求时,随机开放一个比较大的端口号来处理数据传输。
vsftp中,通过编辑 /etc/vsftp.conf 实现启用PASV连接。
sudo vi /etc/vsftp.conf
在配置文件中添加下面语句:
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000
也即,启动PASV连接模式,开放6000-7000端口号作为数据传送端口。
此外,如果是对外网开放,必须在路由器的转发规则中,开放21端口。
为了保险,可以将6000-7000端口也写入到iptables中白名单中。
命令:
sudo iptables -A INPUT -p tcp –dport 6000:7000 -j ACCEPT
在ubuntu中一般可以不用,因为ubuntu虽然有iptables,但默认是没有规则的,
也即,不会设置端口限制,但其他版本就最好加上哈。
此外,如果带有selinux的,最好也关闭。
ubuntu是默认没安装selinux。
像redhat、centOS之类的,
修改/etc/selinux/config文件中的SELINUX=”” 为disabled ,然后重启。
这样设定后,一般就可以搞定了。
如果还不行,可以通过一下思路:
1、防火墙(本机、客户机)
2、FTP目录的权限
3、客户机是否是IPv6网络
4、客户机的网关限制了外网ftp