У меня есть скрипт, который должен подключаться к FTP
from ftplib import FTP
with FTP('IP') as ftp:
ftp.login(user='my user', passwd='my password')
ftp.cwd('/MY_DIR')
ftp.dir()
У меня ошибка:
ConnectionRefusedError: [Errno 111] Connection refused
ftp - это EC2 с vsftpd
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_address=IP
pasv_addr_resolve=YES
Уже пробовал:
Код работает на других FTP с TLS и без него (размещен на 1and1, OVH ...)
Я попробовал этот скрипт в NodeJS
const ftpClient = require('ftp-client');
const client = new ftpClient({
host: "IP",
port: 21,
user: "My user", // defaults to "anonymous"
password: "My password" // defaults to "@anonymous"
});
client.connect(() => {
client.download('/MY_DIR/file','/tmp/file', (res) => {
console.log(res)
})
});
Прекрасно работает, поэтому я исключаю проблему с брандмауэром
Я попытался включить TLS
ssl_enable=YES
require_ssl_reuse=NO
, то
sudo service vsftpd restart
и используйте
FTP_TLS
вместо FTP
но не сработало
Также я попытался отключить пассивный режим, установив
pasv_enable=NO
, то
sudo service vsftpd restart
и ftp.set_pasv(False)
тоже не работал