有两种解决方式:更换一个FileZilla版本或者更换为连接协议。
卸载FTP服务命令如下:sudo apt-get remove --purge vsftpd
(–purge 选项表示彻底删除改软件和相关文件)
安装 FTP 服务
sudo apt-get install vsftpd
安装好FTP服务之后就可以尝试连接了,这个时候只要不使用root用户进行连接,一般都可以连接成功的。使用root用户连接方法在下面。
但是很可惜,虽然连接成功了,但是我们是无法进行传输文件的。
修改配置
vi /etc/vsftpd.conf # 使用vi编辑器修改/etc/vsftpd.conf文件
找到write_enable=YES
(是否允许上传文件),把它的注释打开。允许上传文件
修改之后重启该服务:/etc/init.d/vsftpd restart
这时候尝试上传文件,成功了。
上面是使用普通用户连接的,我使用的是lx这个用户,但是这个用户的权限过于低,很多地方都不能够访问,也不能够上传文件,所以我想着使用root用户进行连接。
使用root用户连接存在两种情况,使用FTP协议或者使用SFTP协议。下面演示FTP协议,如果是使用SFTP协议连接的话就要更换FileZilla版本了。
设置root用户密码
root用户默认是不设置密码的,我们需要来手动设置一下。
通过SecureCRT来连接Ubuntu,然后键入如下代码:sudo passwd root
,这会要求输入当前用户登录的密码,验证成功后会让你设置root用户密码以及重复输入。
之后让Ubuntu重启:reboot
打开站点管理器,协议是FTP协议,输入IP地址,用户输入root,密码是刚刚设置的密码。不出意外,出意外了:
这种情况可能有两种问题:
①账号或者密码错误。我这里就是这种情况,密码出现错误了,之前设置的是对的,但是关闭FileZilla-3.7.3切换至FileZilla-3.60.1密码就出现错误了。
②没有指定shell。解决方法是修改配置文件vi /etc/vsftpd.conf
,找到pam_service_name=vsftpd
,将其修改为pam_service_name=ftp
。然后重启该服务就可以了/etc/init.d/vsftpd restart
。当然这种方法不安全哈!