Нам нужно использовать ftp в «активном режиме», используя экземпляр Ubuntu ec2 в качестве клиент на удаленном не ec2 ftp сервере.
К сожалению, мы не можем использовать функциональность sftp. И мы можем подключиться в пассивном режиме, но все, что нам нужно, это использовать «активный режим». Я знаю, что активный режим проблематичен на уровне NAT (частные-общедоступные IP-адреса), но есть ли способ преодолеть это?
На клиенте (экземпляр ec2) в активном режиме мы получили:
#ftp 11.11.11.11
Подключено 11.11.11.11.
220 (vsFTPd 3.0.2)
Имя (11.11.11.11:ubuntu): ftpuser
331 Пожалуйста, укажите пароль.
Пароль:
230 Вход в систему выполнен успешно.
Тип удаленной системы — UNIX.
Использование бинарного режима для передачи файлов.
фтп > cd файлы
250 Каталог успешно изменен.
фтп> лс
500 Недопустимая команда порта.
ftp: bind: адрес уже используется
Конфигурация ftp-сервера (не экземпляра ec2) выглядит следующим образом:
слушать = ДА
listen_ipv6 = НЕТ
анонимный_включить = НЕТ
local_enable = ДА
write_enable = ДА
dirmessage_enable = ДА
use_localtime = ДА
xferlog_enable = ДА
connect_from_port_20=ДА
ascii_upload_enable = ДА
ascii_download_enable = ДА
chroot_local_user = ДА
chroot_list_enable = ДА
chroot_list_file=/etc/vsftpd.chroot_list
ls_recurse_enable = ДА
secure_chroot_dir=/var/run/vsftpd/пусто
pam_service_name=ftp
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
seccomp_sandbox = НЕТ
allow_writeable_chroot = ДА
pasv_enable = ДА
pasv_min_port=10024
pasv_max_port=10048
порт_включить = ДА
pasv_address=11.11.11.11
Входящие и исходящие широко открыты для всего мира!