2016-08-08 4 views
0

Je veux obtenir la structure de fichier (liste seulement) sur un serveur sFTP. J'utilise actuellement la commande cURL bash avec plusieurs appels. Afin d'éviter les connexions multiples, j'aimerais utiliser le multiplexage de openssh. J'ai suivi les instructions sur https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Multiplexing mais en utilisant cURL pour obtenir la liste des fichiers cela ne fonctionne pas. D'autre part, la connexion ssh "standard" utilise le multiplexage.Comment utiliser cURL avec le multiplexage avec sftp

Questions:

  1. est-il un moyen d'utiliser le multiplexage avec cURL?
  2. Sinon, existe-t-il un autre outil de ligne de commande linux pour obtenir la liste des fichiers?

Répondre

2
  1. Pas pour SFTP, non. Le protocole SSH (et libssh2 qu'utilise curl) permet un multiplexage parfaitement parfait, mais curl lui-même n'a pas été adapté pour en tirer parti, donc faire plusieurs requêtes au même hôte utilisera toujours des connexions séparées.

  2. La commande sftp par OpenSSH utilisé comme: echo ls | sftp example.com:dir/

+0

avez-vous un lien/commentaire/Hint pourquoi cURL ne fonctionne pas avec le multiplexage? C'est ssh à la fin, non? Et en ce qui concerne 2: votre solution répertorie le dossier spécifié, mais pas la structure de fichiers complète, c'est-à-dire tous les sous-dossiers et fichiers – ezdazuzena

+1

Facile: personne n'a implémenté le multiplexage SSH pour le curl donc cela ne fonctionne pas. Bien sûr, les protocoles SSH2 et SFTP le permettent, tout comme libssh2 que curl utilise, mais curl doit en tirer profit. Je ne pense pas que le protocole SFTP ni l'outil sftp aient une fonction ls récursive. –