Почему я не могу получить доступ к своему FTP-серверу с помощью проводника Windows?

У меня есть экземпляр, на котором запущен Ubuntu 16.0.4 LTS на Google Compute Engine с открытым для него портом 21. Я установил на него vsftpd, добавил пользователя для службы FTP и установил права доступа к каталогу на полный доступ для пользователя. Я могу подключиться к FTP-серверу через командную строку, используя ftp $ IP_ADDRESS , и войти в систему с именем пользователя и паролем.

Таким образом я могу скачивать и выгружать файлы, а также создавать и управляемые каталоги по мере необходимости. Однако, если я попытаюсь получить доступ к FTP-серверу с помощью проводника Windows, используя ftp: // $ IP_ADDRESS , мне будет предложено ввести имя пользователя и пароль, как и ожидалось, но когда я ввожу их, сервер немедленно сбрасывает соединение и Я получаю сообщение:

Произошла ошибка при открытии этой папки на FTP-сервере. Убедитесь, что у вас есть разрешение на доступ к этой папке. Подробности: соединение с сервером было сброшено.

Ниже приводится содержимое моего файла vsftpd.conf . Как сделать это доступным из проводника Windows?

listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=777
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=myftpuser
ftpd_banner=My FTP
ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
1
задан 16 September 2019 в 16:03
2 ответа

Попробуйте следующие настройки:

local_umask=077
connect_from_port_20=NO
ascii_download_enable=YES
ascii_upload_enable=YES
nopriv_user=ftpuser
0
ответ дан 4 December 2019 в 03:24

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

Попробуйте добавить следующее в ваш файл vsftpd.conf (или порты, которые вы хотите):

pasv_min_port=40000
pasv_max_port=45000

Затем добавьте новое правило брандмауэра в FW проекта GCP

Then add a new firewall rule in the GCP project FW

Вот тег, добавленный к instance

Here is the tag added to the instance

После этого я смог успешно использовать ftp://$IP_ADDRESS.

На всякий случай, вот мой полный файл vsftpd.conf:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
pasv_min_port=40000
pasv_max_port=45000
0
ответ дан 6 August 2020 в 15:56

Теги

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