WinSCP: текущий сеанс SFTP-3 не поддерживает запрашиваемые вами команды. Для обработки команды может быть открыт отдельный сеанс оболочки.

Я использую WinSCP для взаимодействия с удаленным сервером, который поддерживает только SFTP и не разрешает доступ по SSH.

Мое взаимодействие включает перемещение / удаление подмножества файлов (идентифицируемых по именам файлов) в определенном каталоге.

Чтобы упростить это, я обычно синхронизирую [Remote -> Local], удаляю файлы локально, используя командную строку cygwin (чтобы я мог указать список имен файлов вместо выбора файлов в графическом интерфейсе), а затем синхронизировать [Local -> Remote ], чтобы отправить удаленное удаление.

Но теперь я хочу еще больше упростить процесс, чтобы передать его оператору. Я пошел искать и был рад обнаружить, что WinSCP поддерживает «команды».

Было бы здорово, если бы я мог ввести что-то вроде этого в поле «Команда» внизу окна «Командир» WinSCP:

get queue-queue-from-DLQ-ID-69703273-db51-11e1-ba9f-005056010165 \
    queue-queue-from-DLQ-ID-3d64697a-db51-11e1-b86e-005056010166 \
    queue-queue-from-DLQ-ID-76fdb365-db50-11e1-b78d-005056010164 \
    queue-queue-from-DLQ-ID-76ed3836-db50-11e1-ba9f-005056010165

Но когда я ввожу это в поле «Команда», я получаю следующую ошибку:

Текущий сеанс SFTP-3 не поддерживает запрашиваемые вами команды. Для обработки команды может быть открыт отдельный сеанс оболочки. Вы хотите открыть отдельный сеанс оболочки?

Ошибка 1

Когда я нажимаю ОК, я получаю следующую ошибку:

Ошибка пропуска сообщения при запуске. Вероятно, ваша оболочка несовместима с приложением (рекомендуется BASH).

Ошибка 2

Последнее, вероятно, связано с тем, что SSH не поддерживается.

Но у меня вопрос: поскольку get - это команда SFTP, почему я получаю первую ошибку? Разве сам WinSCP не использует эту команду под прикрытием для поддержки операции «копирование на локальный» графического интерфейса?

Как мне настроить WinSCP или Linux так, чтобы я мог делать то, что я показал выше?


person nemo    schedule 06.08.2012    source источник


Ответы (2)


Думаю, это отвечает на мой вопрос: http://winscp.net/eng/docs/remote_command

Очевидно, функция «Команда» поддерживается только для SCP.

Интересно, почему WinSCP не может предоставить интерфейс командной строки для операций SFTP, которые обычно поддерживаются во время интерактивного сеанса sftp.

person nemo    schedule 06.08.2012

Вы можете использовать интерфейс сценариев командной строки WinSCP для выполнения команды get.

https://winscp.net/eng/docs/scripting


Функция «Команды» (удаленное выполнение команд) поддерживается даже для протокола SFTP. Но эта функция выполняет команду на удаленном сервере. Эту функцию нельзя использовать для автоматизации WinSCP. И нет удаленной команды, которую можно было бы легко использовать для загрузки файла.
См. https://winscp.net/eng/docs/remote_command

person Martin Prikryl    schedule 03.04.2013