web-dev-qa-db-fra.com

Comment configurer FTP sur Azure VM

J'ai besoin d'aide pour configurer FTP sur mon Azure VM instance.

Le VM est Windows Server 2012 R2. J'ai configuré le rôle de serveur Web et créé un site FTP dans IIS. J'ai confirmé que je peux accéder au serveur FTP avec

ftp command: open localhost

J'ai également configuré un point de terminaison FTP pour le VM sur le portail Azure configuré pour le port standard 21.

Enfin, j'ai créé une règle de pare-feu pour autoriser tout le trafic entrant/sortant du port 21.

Maintenant, lorsque j'essaie d'y accéder par FTP depuis ma machine domestique, je peux voir que le nom DNS public du serveur se résout à l'adresse IP et au port appropriés, mais aucune connexion ne peut être établie.

Suis-je en train de manquer une étape de configuration quelque part?

Merci

40
ChiliYago

Il y a une grande procédure pas à pas de juillet 2012 ' Hébergement FTP sur IIS 7.5 dans une machine virtuelle Windows Azure ' par Ronald Wildenberg à ce sujet. Il fait écho réponse de David . Ce sont les étapes qu'il traverse:

  1. Tout d'abord, vous avez besoin d'une machine virtuelle. J'avais besoin d'une machine Windows avec une base de données SQL Server, j'ai donc choisi "Microsoft SQL Server 2012 Evaluation Edition" parmi les modèles disponibles.
  2. Une fois que la machine a démarré, vous pouvez y accéder via RDP via l'option de connexion en bas du portail de gestion.
  3. Lorsque vous y êtes, vous devez configurer IIS. Un résumé des étapes requises:
    • Ajoutez le rôle "Web Server (IIS)" au serveur.
    • Ajoutez les fonctionnalités IIS dont vous avez besoin.
    • Ajoutez un point de terminaison TCP à votre VM dans le portail de gestion avec port public et privé 80.
  4. Pour activer FTP, assurez-vous d'activer les services de rôle "Serveur FTP" pour votre rôle IIS:
  5. L'étape suivante consiste à créer le site FTP réel dans IIS. Cliquez avec le bouton droit sur "Sites" dans IIS Manager et sélectionnez "Ajouter un site FTP…"
  6. Spécifiez le nom et le chemin local du site:
  7. Spécifiez les informations de liaison et SSL:
  8. Et enfin, précisez qui devrait avoir accès au site FTP.
  9. Vous devriez maintenant pouvoir accéder au site FTP depuis la machine virtuelle. Ouvrez une invite de commande, tapez ftp 127.0.0.1 et connexion
  10. Pour le FTP actif, vous devez autoriser l'accès aux ports 21 (port de commande FTP) et 20 (port de données FTP), vous devez donc ajouter deux points de terminaison à votre machine virtuelle
  11. pour configurer le FTP passif. Pour que cela fonctionne, nous devons indiquer au serveur IIS FTP la plage de ports qu'il peut utiliser pour les connexions de données et nous devons ajouter des points de terminaison au VM que correspondent à cette plage de ports.
  12. configurer la plage de ports et l'adresse IP externe pour les connexions de données passives. Cela peut être trouvé dans IIS Manager
  13. L'adresse IP externe doit être l'adresse IP virtuelle que vous pouvez trouver dans le portail de gestion Azure.
  14. Si vous ne pouvez pas spécifier la plage de ports du canal de données dans le gestionnaire IIS, utilisez l'utilitaire appcmd, qui se trouve dans %windir%\system32\inetsrv: appcmd set config /section:system.ftpServer/firewallSupport /lowDataChannelPort:7000 /highDataChannelPort:7014
  15. Vous pouvez spécifier les 15 nouveaux points de terminaison dans le portail Azure, mais cela prendrait du temps, utilisez donc les applets de commande Windows Azure Powershell .
  16. téléchargez le fichier des paramètres de publication. Une façon consiste à démarrer Windows Azure Powershell et à utiliser l'applet de commande "Get-AzurePublishSettingsFile". Il ouvre un navigateur et vous permet de télécharger le fichier de paramètres de publication qui correspond à votre identifiant Windows Live.
  17. Une fois le fichier de paramètres de publication téléchargé, vous pouvez l'importer à l'aide de l'applet de commande "Import-AzurePublishSettingsFile" et nous sommes prêts à commencer à ajouter des points de terminaison.
  18. J'ai simplement créé un fichier texte contenant la liste des commandes que je voulais exécuter et l'ai copié dans la fenêtre Powershell: Get-AzureVM -ServiceName 'myServiceName' -Name 'ftpportal' | Add-AzureEndpoint -Name 'FTPPassive00' -Protocol 'TCP' -LocalPort 7000 -PublicPort 7000 | Update-AzureVM où 'myServiceName' est le nom de mon service cloud et 'ftpportal' est le nom de ma machine virtuelle.
  19. Bien que le pare-feu Windows semble autoriser tout le trafic requis, vous devez également activer le filtrage FTP avec état sur le pare-feu: netsh advfirewall set global StatefulFtp enable
  20. redémarrez le service FTP Windows et nous devrions être opérationnels:
    • net stop ftpsvc
    • net start ftpsvc

Cela vaut la peine de suivre ces étapes dans l'article d'origine notamment parce qu'il inclut des captures d'écran utiles pour chaque étape, mais je pensais que cela valait la peine d'être cité ici au cas où. L'article mentionne également FTP actif contre FTP passif, une explication définitive comme intéressant à lire.

Ce serait formidable si je pouvais signaler qu'après avoir suivi ces étapes, votre serveur FTP Azure VM fonctionnera et sera accessible. Mais malheureusement les étapes ci-dessus ne l'ont pas corrigé pour moi :-(

62
dumbledad

Si cela ne vous dérange pas d'utiliser le serveur FTP FileZilla,

Voici ce que j'ai fait pour activer la connexion FTP à ma machine virtuelle.

1. Go to Azure VM (manage.windowsazure.com), and add 2 endpoints:
    1. Name: FTP (Protocol TCP, Public Port 21, Private Port 21)
    2. Name: FTP Passive (Protocol TCP, Public Port 60000, Private Port 60000)
2. Go back to VM (via RDP), Open connection for port 21, and 60000 on Windows Firewall inbound rule.
3. Download and open FileZilla Server.
4. Click Edit -> Users and add user and shared directory as needed.
5. Click Edit -> Settings. On the sidebar click Passive Mode Settings.
6. Check "use custom port range" and enter 60000 - 60000
7. On ip4specific part, select radio button "use the following ip", and enter your xxxx.cloudapp.net.
8. Save, and run the server. That's it, you can now connect to FTP from outside of VM.

J'espère que cela aide quelqu'un.

À votre santé

8
dexcell

Après avoir hésité un moment avec la liste de 15 points ci-dessus, j'ai reçu le message que MS essaie de transmettre - "Pas de FTP (facile) pour vous" ...

Je suis donc retourné au bon vieux monde ouvert de Linux - mettre en place un serveur SCP en utilisant Cygwin. Vous obtenez même un Shell distant en bonus ...

1) Exécutez le programme d'installation de Cygwin - https://cygwin.com/setup-x86.exe

2) Dans 'Select Packages', recherchez

  • cygrunsrv (sélectionnez celui sous "Admin")
  • openssh (sélectionnez celui sous 'Net)

3) Une fois terminé, démarrez le terminal Cygwin et tapez:

  • ssh-Host-config -y -pwd S0me-Str0ng-pa55w0rd

  • cygrunsrv -S sshd

4) À partir d'Azure VM ajoutez un point de terminaison SSH

5) Dans Windows FireWall, ajoutez la règle entrante pour TCP port 22

Et l'alto - vous pouvez vous connecter en utilisant WinSCP, Notepad ++ et PuTTY bien sûr ...

Remarques:

  • Unix est sensible à la casse, alors tapez votre utilisateur dans le cas exact, par exemple Administrateur au capital A
  • Vos disques sont sous/cygdrive (c:\est dans/cygdrive/c, etc.)

Bonne chance!

3
Zeev Kotzer

Vous devez ajouter une plage de ports supplémentaire, que le serveur ftp choisira pour chaque connexion ftp.

Vous devrez créer un groupe de points de terminaison d'entrée, chacun représentant l'un des ports de la plage de ports spécifiée. Notez que vous avez un nombre limité de points de terminaison d'entrée (pas sûr du nombre exact, mais vous devriez facilement être en mesure d'ouvrir, disons, 50 points de terminaison d'entrée dans des ports contigus). Ensuite, configurez simplement le serveur ftp pour utiliser cette même plage. En outre, vous souhaiterez mapper le port public du point de terminaison d'entrée au même numéro de port privé, sinon les connexions ne seront pas créées correctement.

1
David Makogon

Le lien dans réponse de dumbledad est actuellement indisponible. J'avais toujours des problèmes pour faire fonctionner un FTP passif sur un nouveau Azure VM après avoir suivi les étapes là-bas.

Après un peu de recherche, j'ai trouvé cet article de création FTP passif et ports dynamiques . C'est une grande procédure pas à pas et fournit un script simple à exécuter à partir de votre VM pour que FTP soit opérationnel en une minute. Si vous configurez plusieurs VM, le script est un moyen beaucoup plus rapide de configurer FTP accéder plutôt que de configurer manuellement IIS et points de terminaison Azure.

1
deadlytoes