2016-08-08 2 views
0

Я хочу получить структуру файла (только на листинге) на sFTP-сервере. В настоящее время я использую команду cURL bash с несколькими вызовами.Как использовать cURL с мультиплексированием с sftp

Во избежание множественных подключений, я хотел бы использовать мультиплексирование openssh. Я следовал инструкциям на https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Multiplexing, хотя с помощью cURL для получения списка файлов это не работает.

С другой стороны, «стандартное» соединение ssh использует мультиплексирование.

Вопросы:

  1. есть способ использовать мультиплексирование с Curl?
  2. Если нет, есть ли другой инструмент командной строки linux, чтобы получить список файлов?

ответ

2
  1. Не для SFTP, нет. Протокол SSH (и libssh2, который использует curl) позволяет мультиплексировать отлично, но скручивание само по себе не было приспособлено, чтобы фактически воспользоваться этим, поэтому выполнение нескольких запросов к одному и тому же хосту будет по-прежнему использовать отдельные соединения.

  2. Команда SFTP с помощью OpenSSH используется как: echo ls | sftp example.com:dir/

+0

у вас есть какие-либо ссылки/комментарий/намекают почему Curl не работает с мультиплексированием? Это ssh в конце, не так ли? А по отношению к 2: решение выдает указанную папку, но не полную файловую структуру, то есть все подпапки и файлы – ezdazuzena

+1

Просто: никто не реализовал мультиплексирование SSH для завитки, поэтому он не работает. Уверены, что протоколы SSH2 и SFTP позволяют это, а также использует libssh2, который завиток использует, но завиток должен использовать его. Я не думаю, что протокол SFTP и инструмент sftp имеют рекурсивную функцию ls. –