Au travers de cet article, nous mettrons en place un petit serveur SFTP au sein d’une machine virtuelle Azure afin de l’utiliser dans une logic app Azure.
Dans le cadre d’un projet, j’étais responsable de la mise en place d’un processus d’intégration au travers de répertoire SFTP. Ainsi, pendant le développement du flux d’intégration, j’ai eu besoin, à des fins de tests, d’un serveur SFTP. Bien entendu, mon challenge technique ne résidait pas dans la mise en place du serveur SFTP, car celui-ci était déjà en place dans les environnements clients. Donc j’ai voulu quelque chose de simple, rapide à configurer mais aussi gratuit.
Après quelques minutes de recherche sur internet, j’ai choisi, un peu au hasard, Rebex tiny Secure FTP Server. J’avoue que j’ai eu de la chance sur coup, car c’est un mini serveur développé à l’aide du Framework Microsoft.Net.
C’est un outil réellement simple à utiliser. Il suffit de dézipper le package téléchargé. Si vous êtes famillié avec les environnements Microsoft et en particuler le Framework.Net, vous trouverez rapidement le fichier de configuration du serveur (fichier Xml). Ouvrez-le et retrouvez les propriétés « userName », « userPassword » and « userRootDir » (personnellement, je n’ai pas joué avec les autres paramètres, ceux-ci suffisant pour mon cas). Précisez les paramètres de configuration que vous souhaitez (le répertoire « userRootDir » est un chemin relatif à partir du dossier dans lequel se trouve l’exécutable).
Avant d’utiliser votre serveur SFTP, vous devez autoriser le port 22 (port SFTP par défaut, ou un autre port si vous avez choisi d’utiliser un autre port) :
Pour autoriser le port 22 depuis le portail Azure, connectez vous sur votre portail et accédez à la page de configuration de votre machine virtuelle.
Depuis cet écran, ajouter une règle d’entrée et de sortie sur votre port 22.
Evidemment, si votre machine virtuelle est derrière un load balancer, vous devez :
N’oubliez pas de lancer votre serveur SFTP (en double cliquant sur l’exécutable) avant de l’utiliser. Et oui, tout est près pour vos tests.
Lorsque vous configurerez votre connection SFTP sur votre logic app Azure, n’oubliez pas de désactiver la validation de la clé SSH car nous n’avons configuré aucune clé sur le serveur SFTP Rebex.