Как запустить программу java на centOS?
FTP-протокол использует более одного порта.
21 - это "управляющее соединение" (Control Connection).
Для передачи данных (вывод списка тоже относится к этому) используется отдельное соединение, которое называется "Data Connection".
В активном режиме инициатором этого соединения является FTP-сервер. На какой адрес и порт соединяться - сообщает клиент при открытии соединения. В настоящее время использовать такой режим передачи не рекомендуется.
В пассивном режиме инициатором соединения является клиент, а адрес и порт (динамический, меняется) сообщает FTP-сервер.
Нужно включать более подробное логгирование в FTP-клиенте, чтобы выводились команды, посылаемые на FTP-сервер и получаемые ответы.
Ну и проверить, не запрещено ли где-то соединение на порты, отличные от 21-го.
В linux порты 0-1000 можно открывать только от root. Скорее всего проблема в этом, вам просто не дают открыть порт. Попробуйте запустить код от root, если заработает, то настраивайтесь.