
Я попробовал использовать переадресацию портов SSH с FTP, но это не сработало, даже несмотря на то, что я использовал FTP-подключения.
Похоже, FTP-сервер предоставляет вам другой номер порта для использования, поэтому вы должны иметь возможность подключиться к этому порту, чтобы получать данные с сервера.
Так что это кажется довольно сложным. Есть ли способ это сделать?
Следует также отметить, что у меня нет разрешения на настройку FTP-сервера, у меня нет доступа к серверу, кроме использования его FTP-сервиса.
решение1
Вам нужно использовать динамическую переадресацию, которая создает SOCKS-прокси, способный подключаться к любому хосту:порту, вместо статического туннеля. Обычно это делается с помощью ssh -D [...]
или выбором "Динамический" при добавлении туннеля SSH в Putty.
Конечно, необходим FTP-клиент, поддерживающий подключение через SOCKS-прокси. В Windows это поддерживают и FileZilla, и WinSCP. Если у вас нет, есть программы, которые перенаправляют все соединения через такой прокси — tsocks
и torsocks
в Linux, torcap
и sockscap
в Windows. Если ваш FTP-клиент поддерживает SOCKS, вы подключаетесь к FTP-серверу как обычно (после включения SOCKS).
На FTP-сервере не требуется никакой настройки, только поддержка "пассивного режима" (где сервер выбирает временные порты). Практически все FTP-серверы поддерживают это. И все современные FTP-клиенты имеют "пассивный" режим по умолчанию.