Как я могу включить пассивный режим при использовании JSch в качестве SFTP-клиента?

#sftp #jsch #passive-mode

#sftp #jsch #пассивный режим

Вопрос:

Я использую JSch в качестве SFTP-клиента, и теперь мне нужно включить пассивный режим из-за некоторого ограничения безопасности.

Но я не могу найти способ включить пассивный режим.

Кто-нибудь может сказать мне, как это сделать?

Ответ №1:

«Пассивный режим» является особенностью протокола FTP.

В обычном режиме FTP для каждого отдельного файла клиент прослушивает порт, и сервер должен подключиться к нему. Поскольку многие брандмауэры поддерживают только исходящие соединения, был добавлен пассивный режим — здесь клиент подключается к серверу для отдельных файлов.

SFTP — это полностью независимый от FTP протокол — он также поддерживает передачу файлов по сети, но на этом сходства заканчиваются. Все (как команды, так и данные) передается по одному и тому же SFTP-каналу, который, в свою очередь, обычно (и, конечно, при использовании JSch) является частью SSH-соединения, которое передается по TCP. Это единственное TCP-соединение всегда запускается клиентом, поэтому проблем с брандмауэрами быть не должно, если они не блокируют SSH полностью.

Если у вас есть проблема с вашим «ограничением безопасности» (что бы это ни было), это, конечно, не зависит от режимов SFTP здесь. Если вы добавите необходимую информацию к своему вопросу, мы, возможно, сможем вам здесь помочь.

Ответ №2:

Протокол SFTP не имеет пассивного режима — он запускает все (команды и данные) через одно установленное соединение.