vsftpd:530登录错误


58

我无法vsfptd使用Ubuntu 12.04。

我的vsftpd.conf文件如下所示,我尝试与本地用户建立连接:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

FileZilla中的错误消息:

Response:   331 Please specify the password.
Command:    PASS ****
Response:   530 Login incorrect.

1
尝试重新启动vsftpd。> sudo /etc/init.d/vsftpd restart我遇到了同样的问题,但这对我有用。
v1h5,2014年

1
要检查的另一件事:用户的登录外壳是什么。/ etc / shells中存在该shell

请如何修改/ etc / shells?

对我来说,/ etc / passwd中的用户格式错误—我需要设置正确的主目录,shell和,,,部件。
汉兹(Heanz)'17

Answers:


113

进行更改之前备份配置文件;

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.back

然后编辑vsftpd.conf(使用vi或nano)

nano /etc/vsftpd.conf

然后进行以下更改

pam_service_name = FTP

保存您的更改并重新启动ftp服务器(如果您使用nano命中,请按CTRL+ 并按OEnter进行保存,然后按CTRL+ X退出)

sudo service vsftpd restart

来源: 12.04版本的VSFTPD配置问题


3
这个问题也可以通过这个答案在debian7中解决。
shgnInc

1
这背后的原理是什么?
Joost

13
您正在通过PAM禁用默认访问控制,因为默认的“ ftp”没有规则。默认pam_service_name=vsftp使用文件/etc/pam.d/vsftpd。默认情况下,此文件要求FTP用户在/etc/shells其中列出外壳程序,并且要求不在其中列出它们/etc/ftpusers
Jeroen Vermeulen-MageHost 2015年

在Ubuntu 14.04上解决了我同样的问题。谢谢!
Rotem

3
@JeroenVermeulenBVBA +1您是对的。我担心有些人只是不知道下面到底发生了什么,以及为什么它似乎“起作用”。
斯特凡

11

默认情况下,vsFTPd使用该文件/etc/pam.d/vsftpd。默认情况下,此文件要求FTP用户在/etc/shells其中列出外壳程序,并且要求不在其中列出它们/etc/ftpusers。如果检查这两件事,您可能会发现问题所在。


1
我认为这应该是可以接受的答案,因为它指出了问题所在。
PhoneixS

5

我不需要更改vsftpd.conf。只需要确保在我的/ etc / passwd文件中设置了一个外壳,该外壳也在/ etc / shells中点亮了。

因此,基本上,在没有外壳的useradd之后,我需要确保主目录已创建,并且用户具有/ bin / bash作为外壳。


谢谢,这就是我发生的事情。其他解决方案通过删除所有安全机制而起作用,该解决方案实际上已解决了该问题。
VinGarcia '18

5

当我尝试使用root用户登录时遇到了这个问题,而我刚刚解决了它。
我的vsftpd:版本3.0.2

解:

检查以下文件(它包含禁止FTP访问的用户列表):

/etc/ftpusers 

以我为例,我从文件中注释掉了root,然后它起作用了。


我做了同样的事情以能够以root用户身份登录,但是
没用

4

请在/etc/vsftpd.conf中进行一些更改

pam_service_name = ftp

如果您想默认为本地用户设置/ var / www目录的访问权限,则可以在下面的行中进行.....

local_root = / var / www

现在保存并退出...

使用sudo服务重新启动vsftpd服务器vsftpd重新启动


2

建议的解决方案对我不起作用。我放弃了ftp用户,将注意力转移到ubuntu用户身上。我确保有一个与ubuntu用户关联的密码。

我确保启用被动模式,并local_enable=YESvsftpd.conf文件中进行设置。

我能够使用该ubuntu帐户进行身份验证。然后,我成功地将一个大文件上传到了我的Amazon Ubuntu FTP服务器。显然,ftp用户有些不对劲。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.