VSFTPD FileZilla GnuTLS error -15 (был получен неожиданный пакет TLS)

Ответ, как указал Майкл Гомер, заключается в том, что pastebin добавил окончания строк Windows CRLF в мои файлы. Чтобы исправить это, я выполнил следующее:

sed -i 's/\r$//' ts3update
sed -i 's/\r$//' ts3restore

И скрипты успешно выполнились.Ответ был взят отсюда: Сценарий оболочки Bash / Korn, отредактированный в Windows, выдает ошибку '... ^ M: not found'

4
18.03.2016, 00:09
7 ответов

Я отправляю этот ответ в надежде, что он может помочь кому-то в будущем, возможно, мне, поскольку я страдал от решения этой проблемы.

У меня неправильно установлен local_root в файле /etc/vsftpd/vsftpd.conf . Параметр указывает на папку, которой не существует.

Через меня я увидел сбой команды пароля в FileZilla, поэтому я подумал, что пароль ей не понравился. Что заставило меня задуматься в правильном направлении, так это то, что я нашел время, чтобы исследовать, почему я не получаю подробные журналы. Я не получил логов. Как только я начал получать журналы отладки, в которых я видел протоколы FTP, я увидел, что FTP-сервер сказал OK на пароль. К сожалению, никакой регистрации не было, но я натолкнулся на мысль, что согласование локального корня будет следующим курсом действий после аутентификации пароля. Я был прав, и это привело меня к проблеме.

Вот фрагмент кода в файле /etc/vsftpd/vsftpd.conf , содержащий локальный корень.

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
# the user does not have write access to the top level directory within the
# chroot)
chroot_local_user=YES
#local_root=/mnt/raid1
local_root=/ftproot
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list

Вот как я наконец включил подробное ведение журнала, хотя сейчас я отключу его, чтобы сэкономить место на диске и повысить производительность.

# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
xferlog_std_format=NO
log_ftp_protocol=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES

IMHO, я бы посчитал этот комментарий ошибкой, поскольку xferlog_enable - это больше, чем фактическая загрузка и скачивание файлов. Это свойство также включает ведение журнала. Исследование Google доказывает, что log_ftp_protocol = YES требует xferlog_enable = YES .

3
27.01.2020, 20:49

У меня была такая же ошибка после команды PASS в CENTOS 7. (GnuTLS error -15: An unexpected TLS packet was received.)

Мое решение следующее:

Мне пришлось добавить следующее в vsftpd.conf:

allow_writeable_chroot=YES

chroot_local_user=YES 
local_root=/ftphome/$USER 
user_sub_token=$USER
10
27.01.2020, 20:49

Я столкнулся с той же ошибкой (Ошибка: ошибка GnuTLS -15: был получен неожиданный пакет TLS.) И бился головой около часа, но потом я Выяснилось, что домашний каталог пользователей ftp, который находился на томе Gluster, не был смонтирован. Смонтированный объем Gluster и проблема решена.

1
27.01.2020, 20:49

Как ни странно, эта проблема возникла при попытке lsпосле входа в систему.

Оказалось, что я удалил httpdв пользу nginx, а папка, которую я использовал, принадлежала apache:apacheи пользователь был удален, когда я удалил httpd. Я chconпереместил каталоги в nginx:nginx, а затем заменил пользователя в этих строках в моем конфигурационном файле : guest_username=nginx nopriv_user=nginx

Надеюсь, это поможет кому-нибудь, потому что сообщения об ошибках совсем не помогли.

0
27.01.2020, 20:49

Я хотел бы добавить к Ндианабаси:

Если у вас есть:

allow_writeable_chroot=NO

и у вас включен chroot, каталог Chroot не может быть доступен для записи пользователю, под которым вы пытаетесь войти. Это был мой случай, и возникла та же ошибка. Я подключил (корневой каталог )к корневому каталогу :root, и это исправило это для меня.

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

0
27.01.2020, 20:49

проверьте, доступны ли каталог и его родительские каталоги для чтения и выполнения для пользователя sftp.

0
27.01.2020, 20:49

Я пока не могу оставлять комментарии, так что это частично ответ на комментарий Скотта и разъяснение ответа мистера Фантастика...


Я столкнулся с той же проблемой и после некоторых проб и ошибок выяснил, что это на самом деле означает, и лучшее решение (ИМХО ), чем настройка разрешения _записи _chroot=YES.

Это означает, что vsftpd должен допускать ситуацию, когда домашний каталог пользователя доступен для записи этим пользователем. Вместо этого из соображений безопасности я изменил разрешения для корневой папки пользователя на 555. Согласно другой ветке, это смягчает «РЕВУЮЩУЮ АТАКУ ЗВЕРЯ».

В моем случае исходная установка была:(777 )drwxrwxrwx /home/ftpuser/

Изменение каталога пользователя на:(555 )dr -xr -xr -x /home/ftpuser/

сделал домашний каталог пользователя НЕ доступным для записи пользователем, и поэтому мне не нужно было использовать разрешение _доступное для записи _chroot=YES. Это нормально (и более безопасно )для моей ситуации, поскольку у меня есть предустановленная структура каталогов, и я не хочу, чтобы пользователь в любом случае создавал новые файлы или каталоги в своей корневой папке.

Я понял это, когда переключил домашний каталог на /var/ftp через локальный _параметр root= для vsftpd, и это сработало без установки разрешения _записываемого _chroot=YES. Эта папка /var/ftp имеет номер (755 ), но принадлежит пользователю root и поэтому недоступна для записи пользователю ftpuser.

0
27.01.2020, 20:49

Теги

Похожие вопросы