#sftp #jsch #passive-mode
#sftp #jsch #пассивный режим
Вопрос:
Я использую JSch в качестве SFTP-клиента, и теперь мне нужно включить пассивный режим из-за некоторого ограничения безопасности.
Но я не могу найти способ включить пассивный режим.
Кто-нибудь может сказать мне, как это сделать?
Ответ №1:
«Пассивный режим» является особенностью протокола FTP.
В обычном режиме FTP для каждого отдельного файла клиент прослушивает порт, и сервер должен подключиться к нему. Поскольку многие брандмауэры поддерживают только исходящие соединения, был добавлен пассивный режим — здесь клиент подключается к серверу для отдельных файлов.
SFTP — это полностью независимый от FTP протокол — он также поддерживает передачу файлов по сети, но на этом сходства заканчиваются. Все (как команды, так и данные) передается по одному и тому же SFTP-каналу, который, в свою очередь, обычно (и, конечно, при использовании JSch) является частью SSH-соединения, которое передается по TCP. Это единственное TCP-соединение всегда запускается клиентом, поэтому проблем с брандмауэрами быть не должно, если они не блокируют SSH полностью.
Если у вас есть проблема с вашим «ограничением безопасности» (что бы это ни было), это, конечно, не зависит от режимов SFTP здесь. Если вы добавите необходимую информацию к своему вопросу, мы, возможно, сможем вам здесь помочь.
Ответ №2:
Протокол SFTP не имеет пассивного режима — он запускает все (команды и данные) через одно установленное соединение.