Я использую VirtualBox
ubuntu 14.04
его в качестве клиента, у меня есть версия командной строки Ubuntu в качестве сервера в качестве файлового хоста. Я могу подключиться - аутентифицироваться - и загрузить/скачать файл на/с сервера с помощью put $FILE
или, get $FILE
но это не удается во время процесса загрузки/скачивания. Показано следующее сообщение об ошибке: для обоих
ftp: bind: Address already in use
Есть ли способ сменить порты VirtualBox
или FTP, чтобы проверить мою тестовую среду?
Мой порт сервера был изменен:
sudo nano /bin/vsftpd.conf
listen_port=2121
Как настроить клиента на вызов назначенного порта, а не порта по умолчанию?
решение1
Ну, это не совсем ответ, но комментарии слишком короткие...
Думаю, я недостаточно ясно выразился о «вторичном порте». Ftp использует два порта:
- командный порт (или порт прослушивания), по умолчанию 21.
- порт данных (по умолчанию 20).
Командный порт, конечно, свободен, и именно поэтому вы можете подключиться и пройти аутентификацию, а также выполнить команды get и put. Но при переходе к передаче открывается другое соединение на порту данных, и это соединение не работает. Поэтому вам нужно проверить (и, возможно, изменить) порт данных, а не командный порт.
Проблема еще более усложняется тем, что FTP имеет два режима:
- «Пассивный» режим, в котором используются порты по умолчанию.
- «Активный» режим, в котором согласовываются порты.
Вот почему я настоятельно рекомендую вам попробовать передачу в пассивном режиме (он не установлен по умолчанию). Любой ftp-клиент, такой как Filezilla или команда ftp-терминала, имеет эту опцию.