Я хочу использовать FTP через туннель SSH, чтобы пройти через хост перехода. FileZilla как клиент, но не хочу использовать WinSCP. Я пробовал SOCKS прокси, безуспешно :(. Кто-нибудь здесь, чтобы помочь, пожалуйста? Пожалуйста, смотрите изображение ниже для получения дополнительной информации

В этом примере FTP-сервером является 192.168.1.200 Jumphost, в который я могу установить SSH-соединение: 10.10.10.40 Мой IP-адрес: 172.16.1.1

введите описание изображения здесь

1 ответ1

0

Я не думаю, что есть простой способ сделать это, если он вообще существует. FTP использует несколько соединений TCP, и только одно из них имеет фиксированный порт. Соединения для передачи данных создаются динамически, и порт (а также IP-адрес в большинстве случаев), используемый в этих соединениях данных, обменивается внутри управляющего соединения. Если данные и управляющие соединения просто пересылаются через некоторый туннель, то информация о распределении портов не отражает реальные порты после туннеля, т.е. необходима перезапись определенных команд FTP и ответов туннелем. Но SSH только перенаправляет соединения и ничего не переписывает на уровне приложения, как это требуется для FTP.

Было бы лучше использовать менее сложный протокол, то есть протокол без такого динамического распределения портов. Например, использование SFTP вместо pf FTP/FTPS для передачи данных поможет. Конечно, для этого требуется соответствующий сервер на другом конце, и обычный FTP-сервер этого не сделает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .