По умолчанию vsFTPd использует файл /etc/pam.d/vsftpd. Этот файл по умолчанию требует, чтобы у пользователей FTP была оболочка, указанная в /etc/shells и требует их нет быть перечисленным в /etc/ftpusers. Если вы проверите эти 2 вещи, вы, вероятно, обнаружите, в чем проблема.
Мне не нужно было менять vsftpd.conf. Нужно было только убедиться, что оболочка установлена в моем /etc/passwd файл, который также был зарегистрирован в /etc/shells.
Так что в основном после useradd без оболочки мне нужно было убедиться, что домашний каталог был создан и что пользователь имел /bin/bash поскольку это оболочка.
Предложенное решение не сработало для меня. Я отказался от этого ftp пользователя, и переключил мое внимание на ubuntu пользователь. Я убедился, что существует пароль, связанный с ubuntu пользователь.
Я убедился, что включил пассивный режим, и установил local_enable=YES в vsftpd.conf файл.
Я смог пройти проверку подлинности просто отлично, используя ubuntu счет. И я успешно загрузил большой файл на свой FTP-сервер Amazon Ubuntu. Очевидно, что-то было не так с ftp пользователь.
Я использовал сертификаты Ubuntu 18.04 и LetsEncrypt для шифрования TLS. Что сработало, так это изменение названия pam_service_name=ftpошибка, которую я получал в Filezilla, была:
"GnuTLS error -15": An unexpected TLS packet was received.