Je suis actuellement dans une situation où je reçois des fichiers plats via FTP de mes clients. Quelques clients ont insisté sur la nécessité d'utiliser SSH Private Key SFTP plutôt que FTP régulière. P>
Ce que je veux faire est de configurer un serveur Web (de préférence sous Linux / Unix mais je suppose que je peux le faire sur un serveur Windows et acheter un logiciel SFTP Server) qui suivra: p>
Permettez-moi de configurer un répertoire SFTP pour chaque client avec un utilisateur / passe unique. Chaque répertoire doit également avoir la clé publique / privée SSH "Stuff", je suis un peu nouveau à cela, mais j'ai googlé. P> Li>
Une fois que le fichier est entièrement téléchargé par le client, je veux lancer un événement que FTP ce fichier via FTP régulier sur My Windows Cloud. P> LI>
Ces fichiers peuvent atteindre 10 Mo afin de sorte que les FTP de l'autre serveur ne puissent pas tirer avant que le fichier soit complètement téléchargé. p> li> ol>
Quelqu'un a-t-il défini quelque chose comme ça? Toutes les directives seraient appréciées. P>
Merci! P>
4 Réponses :
in Linux, vous pouvez utiliser Ingron pour surveiller le répertoire des fichiers. Sera SFTP'D et l'avoir déclencher votre travail FTP. C'est un peu comme Cron, sauf que, au lieu de déclencher des travaux basés sur le temps, il est ainsi basé sur des modifications du système de fichiers. Afin de déclencher uniquement une fois que l'ensemble du fichier est écrit, je pense que vous pouvez utiliser in_close_write dans le masque Inotify. À défaut, je vous suggère de configurer des événements pour chacun des événements individuellement pour echo un message à un fichier journal et de voir si vous pouvez identifier celui qui se produit de manière fiable uniquement à la fin du transfert SFTP. P>
Si vous utilisez Redhat, ce n'est pas dans la distribution standard, mais c'est dans epel . p>
Ingron semble être une solution assez douce. Avez-vous des recommandations sur une simple configuration de Linux / SFTP? En d'autres termes, leur logiciel SFTP est-il recommandé pour une saveur de Linux particulière?
À peu près toutes les distributions modernes Linux incluent OpenSSH qui prend en charge SFTP avec l'authentification publique. C'est en fait un sous-système séparé au sein de OpenSSH, mais à la fois Redhat et Ubuntu l'active par défaut.
sur Windows, vous pouvez utiliser serveur FTP TITAN Edition d'entreprise, qui prend en charge SFTP ainsi que Vous permet de définir différents types d'événements. Lorsque l'événement est déclenché, vous pouvez lancer tout ce dont vous avez besoin sur un dossier / par compte. P>
ps. Afaik, quand il s'agit de SFTP, il s'agit d'une authentification par mot de passe ou d'une authentification de clé publique (clé SSH), mais pas à la fois. P>
Merci pour la clarification sur la clé de mot de passe par rapport à la clé publique, je savais que j'avais manqué quelque chose sur la terminologie, je l'ai maintenant merci.
Même si rare, j'ai vu des configurations nécessitant une authentification interactive de clé publique et de mot de passe / clavier.
Dans votre serveur UNIX, vous pouvez configurer SSH pour utiliser un serveur SFTP personnalisé qu'au lieu de manipuler le protocole SFTP lui-même, ouvre une nouvelle connexion SSH au serveur Windows SFTP à l'aide de l'authentification par mot de passe et transmet le trafic SFTP.
Enrichissant le proxy est facile avec les bons outils, par exemple, dans Perl à l'aide du Net :: Openssh module: p> Vous pouvez demander au serveur SSH d'utiliser ce serveur SFTP alternatif modifiant la configuration dans / etc / ssh / sshd_config code> . Par exemple: p>
Avez-vous essayé au serveur Apache FTP? P>
Je pense que vous pouvez faire ce dont vous avez besoin avec l'API FTPLET. P>
Cela n'aurait-il pas abuser de la confiance de vos clients? Vraisemblablement, vos clients préfèrent SFTP car leurs données seront cryptées lors de la traversée de l'Internet public. À moins que le serveur SFTP communique avec votre serveur FTP dans le cloud sur un réseau privé, vous finirez toujours de les envoyer non crypté sur Internet, à partir de votre propre serveur au lieu de leur propre serveur.
En fait, j'ai oublié de mentionner que ces données sont toutes des informations publiques et il n'y a rien de sensible. Certains de mes clients ont juste une politique qu'ils ne peuvent pas être normales de FTP ... Seulement SFTP avec clé SSH. Fait intéressant assez, mon nuage Windows prend en charge le protocole «SFTP», mais pas avec l'ensemble de la clé clé SSH. Je pourrais donc l'utiliser lorsque je transfère le fichier au cloud Windows. La ligne de fond est régulière FTP sur le cloud Windows va bien. J'ai été capable de parler la plupart de mes clients à utiliser FTP régulier, mais j'ai un couple têtu que j'ai besoin de cette solution.
S'ils appuient SFTP, il serait inhabituel de trouver une implémentation qui ne prend pas en charge l'authentification publique. Bien sûr, votre fournisseur de cloud peut vous rendre impossible pour vous de la configurer effectivement alors ce ne serait pas d'utiliser. Si vous devez savoir quel logiciel le serveur est, vous pouvez essayer «SSH -V» sur un client Linux et vous devez voir «la version du logiciel distante ...» quelque part dans la sortie de débogage.