Как может я фиксировать эту ошибку, когда я пытаюсь соединиться с FTP-сервером на filezila:
GnuTLS error -15: An unexpected TLS packet was received.
И эта ошибка на сублимате ftpsync плагин:
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1515)
Это - мои vsftpd настройки:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/var/www/$USER
chroot_local_user=YES
hide_ids=YES
guest_username=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
Я пытался добавить строку к своему конфигурационному файлу. Откройте конфигурацию здесь:
sudo nano /etc/vsftpd.conf
И помещенный эта строка в нижнюю часть:
allow_writeable_chroot=YES
Впоследствии, перезапустите сервис:
sudo service vsftpd restart
, Которые фиксируют его для меня.
Можете быть Вы, имеют ошибку, которая не имеет никакого отношения с SSL.
ssl_enable=NO
) Затем Вы, вероятно, видите реальную ошибку.
Вот почему ответ Francisc I.B не имеет никакого отношения с SSL.
Я нашел столько запутывающих ответов. Я отправлю
/etc/vsftpd.conf
, который работал безупречно на меня в Ubuntu 18.04 с помощью fileZilla как клиент 04.09.2019. FTPS развертываются в экземпляре EC2, отрегулированном очень строгой группой безопасности, которая только позволяет определенный общедоступный IPS доступу.
# FTPS Shim TLS configuration /etc/vsftpd.conf
# Run standalone? vsftpd can run either from an inetd or as a standalone
# daemon started from an initscript.
# This directive enables listening on IPv6 sockets. By default, listening
# on the IPv6 "any" address (::) will accept connections from both IPv6
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
# sockets. If you want that (perhaps because you want to listen on specific
# addresses) then you must run two copies of vsftpd with two configuration
# files.
listen=YES
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=NO
listen_port=38250
ftp_data_port=38255
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
# Uncomment this to allow local users to log in.
local_enable=YES
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
# If enabled, vsftpd will display directory listings with the time
# in your local time zone. The default is to display GMT. The
# times returned by the MDTM FTP command are also affected by this
# option.
use_localtime=YES
# 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
# You may override where the log file goes if you like. The default is shown below.
xferlog_file=/var/log/vsftpd.log
log_ftp_protocol=YES
debug_ssl=YES
# You may change the default value for timing out an idle session.
idle_session_timeout=600
# You may change the default value for timing out a data connection.
data_connection_timeout=120
# You may fully customise the login banner string:
ftpd_banner=Welcome to Read-Only FTPS Shim service.
# You may restrict local users to their home directories. See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
chroot_local_user=YES
allow_writeable_chroot=YES
# This option should be the name of a directory which is empty. Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd/empty
# This string is the name of the PAM service vsftpd will use.
pam_service_name=ftp
# FTPS Passive Mode. -Define port range for passive mode connections
pasv_enable=Yes
pasv_min_port=10100
pasv_max_port=10110
ssl_enable=YES
# force client to use TLS when logging in
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
# specify TSL certificate/private key
rsa_cert_file=/etc/ssl/certs/fullchain.pem
rsa_private_key_file=/etc/ssl/private/privkey.pem
force_local_logins_ssl=YES
force_anon_logins_ssl=YES
# Uncomment this to indicate that vsftpd use a utf8 filesystem.
utf8_filesystem=YES
# Users
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO
Странно для меня эта проблема неожиданно возникла при попытке к ls
после входа в систему.
Это оказалось этим, я удалил httpd
в пользу nginx
и папка, которую я использовал, принадлежала apache:apache
и пользователь был удален, когда я удалил httpd
. Я chcon
'd каталоги к nginx:nginx
и затем замененный пользователь в этих строках в моем файле конфигурации: guest_username=nginx nopriv_user=nginx
Надо надеяться, это помогает кому-то там, потому что сообщения об ошибках не были полезны вообще.
Я столкнулся с этой той же проблемой. Другой поток отговаривает от установки allow_writeable_chroot=YES из соображений безопасности, а именно, для смягчения "РЕВУЩЕГО НАПАДЕНИЯ ЗВЕРЯ".
Установка allow_writeable_chroot=YES означает, что vsftpd должен позволить ситуацию, где корневой каталог пользователя является записываемым тем пользователем. Вместо этого из соображений безопасности я изменил полномочия на корневой папке пользователя с 777 до 555.
Исходный: drwxrwxrwx/home/ftpuser/
Измененный на: dr-xr-xr-x/home/ftpuser/
Это сделало корневой каталог пользователя НЕ записываемым пользователем, и таким образом я не должен был использовать allow_writeable_chroot=YES параметр. Это прекрасно (и более безопасно) для моей ситуации, поскольку я имею предварительно установленную структуру каталогов и не хочу пользователя, делающего новые файлы или каталоги в их корневой папке так или иначе.
Я понял это, когда я переключил корневой каталог на/var/ftp через local_root = [путь] параметр для vsftpd, и он работал, не имея необходимость устанавливать allow_writeable_chroot=YES. Эта папка,/var/ftp, (755), но принадлежавшая корню и таким образом не записываемая ftpuser.