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.
Florian
источник
1
попробуйте перезапустить vsftpd. > sudo /etc/init.d/vsftpd restart У меня возникла та же проблема, но у меня это сработало.
v1h5
1
Еще одна вещь, чтобы проверить: что такое оболочка входа для пользователя. это оболочка в / etc / shells
Пожалуйста, как я могу изменить / etc / shells?
Для меня был просто неправильный формат для пользователя в / etc / passwd - мне нужно было установить правильный домашний каталог, оболочку и ,,,часть.
Heanz

Ответы:

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+ Oи введите для сохранения, затем CTRL+ Xдля выхода)

sudo service vsftpd restart

Источник: проблемы конфигурации VSFTPD с 12.04

AzkerM
источник
3
Эта проблема также может быть решена в debian7 с помощью этого ответа.
shgnInc
1
В чем причина этого?
Joost
13
Вы отключаете управление доступом по умолчанию через PAM, потому что по умолчанию "ftp" не имеет правил. По умолчанию pam_service_name=vsftpиспользуется файл /etc/pam.d/vsftpd. Этот файл по умолчанию требует, чтобы у пользователей FTP была включена оболочка, /etc/shellsа их не нужно указывать в /etc/ftpusers.
Йерун Вермейлен - MageHost
Решил мне ту же проблему на Ubuntu 14.04. Спасибо!
Rotem
3
@JeroenVermeulenBVBA +1 ты прав. Я боюсь, что некоторые люди просто не знают, что на самом деле происходит под ними и почему это «работает».
Стефан
11

По умолчанию vsFTPd использует файл /etc/pam.d/vsftpd. Этот файл по умолчанию требует, чтобы у пользователей FTP была включена оболочка, /etc/shellsа их не нужно указывать в /etc/ftpusers. Если вы проверите эти 2 вещи, вы, вероятно, найдете, в чем проблема.

Йерун Вермейлен - MageHost
источник
1
Я думаю, что это должен быть ответ на принятие, потому что он указывает, где проблема.
PhoneixS
5

Мне не нужно было менять vsftpd.conf. Нужно было только убедиться, что в моем файле / etc / passwd была установлена ​​оболочка, которая также была указана в / etc / shells.

Таким образом, в основном после useradd без оболочки мне нужно было убедиться, что домашний каталог был создан и что пользователь имел / bin / bash в качестве оболочки.

Дункан
источник
Спасибо, что случилось со мной. Другие решения работали, удаляя все механизмы безопасности, этот был фактически решен проблемой.
VinGarcia
5

Я столкнулся с этой проблемой, когда попытался войти в систему с правами root, и я просто решил ее.
мой vsftpd: версия 3.0.2

Решение:

проверьте следующий файл (он содержит список пользователей, которым запрещен доступ по FTP):

/etc/ftpusers 

пример

В моем случае я закомментировал root из файла, потом все заработало.


источник
Я сделал то же самое, чтобы иметь возможность войти в систему как root, но не сработало
VISHAL DAGA
4

Пожалуйста, внесите некоторые изменения в /etc/vsftpd.conf

pam_service_name = FTP

если вы хотите установить доступ по умолчанию к каталогу / var / www для локального пользователя, вы можете сделать это с помощью строки ниже .....

local_root = / вар / WWW

теперь сохраните и выйдите ......

перезапустите сервер vsftpd с помощью службы sudo vsftpd restart

Джаеш Калкани
источник
2

Предлагаемое решение не работает для меня. Я разочаровался в ftpпользователе и переключил свое внимание на ubuntuпользователя. Я убедился, что есть пароль, связанный с ubuntuпользователем.

Я обязательно включил пассивный режим и установил local_enable=YESв vsftpd.confфайл.

Я был в состоянии подтвердить подлинность просто отлично, используя ubuntuучетную запись. И я успешно загрузил большой файл на мой FTP-сервер Amazon Ubuntu. Ясно, что с ftpпользователем что-то не так .

richardm
источник
0

Я использовал Ubuntu 18.04 и LetsEncrypt сертификаты для шифрования TLS. То, что работало, меняло имя pam_service_name = ftp, ошибка, которую я получал в Filezilla, была

"GnuTLS error -15": An unexpected TLS packet was received.

Справка: FTPS установлен в Ubuntu 18.04

Андрес Леон Рангель
источник