I need some help setting up FTP on my Azure VM instance.
The VM is Windows Server 2012 R2. I have set up the Web Server Role and created an FTP site in IIS. I have
There's a great walkthrough from July 2012 'Hosting FTP on IIS 7.5 in a Windows Azure VM' by Ronald Wildenberg about this. He echoes David's answer. These are the stages he goes through:
ftp 127.0.0.1
and login%windir%\system32\inetsrv
: appcmd set config /section:system.ftpServer/firewallSupport /lowDataChannelPort:7000 /highDataChannelPort:7014
Get-AzureVM -ServiceName 'myServiceName' -Name 'ftpportal' | Add-AzureEndpoint -Name 'FTPPassive00' -Protocol 'TCP' -LocalPort 7000 -PublicPort 7000 | Update-AzureVM
where 'myServiceName' is the name of my cloud service and 'ftpportal' is the name of my virtual machine.netsh advfirewall set global StatefulFtp enable
net stop ftpsvc
net start ftpsvc
It's worth following these steps in the original article not least because he includes useful screenshots for each step, but I thought it was worth quoting extensively here just-in-case. The article also mentions Active FTP vs. Passive FTP, a Definitive Explanation as worth reading.
It would be great if I could report that after following these steps your Azure VM based FTP server will be working and accessible. But unfortunately the steps above did not fix it for me :-(
After straggling for a while with the 15-points list above, I got the message MS are trying to pass - "No (easy) FTP for you"...
So I went back to the good-old & open Linux world - set up an SCP server using Cygwin. You even get a remote shell as a bonus...
1) Run the Cygwin installer - https://cygwin.com/setup-x86.exe
2) In 'Select Packages' search for
3) When done, start the Cygwin Terminal, and type:
ssh-host-config -y -pwd S0me-Str0ng-pa55w0rd
cygrunsrv -S sshd
4) From the Azure VM add an SSH endpoint
5) In Windows FireWall, add Inbound Rule for TCP port 22
And viola - you can connect using WinSCP, Notepad++ and Putty of course...
Notes:
Good luck!
If you don't mind using FileZilla FTP Server,
Here is what i did, to enable FTP connection to my VM.
Hope it helps someone.
Cheers
You need to add an additional port range, which the ftp server will choose from for each ftp connection.
You'll need to create a bunch of input endpoints, each representing one of the ports in the specified port range. Note that you have a limited number of input endpoints (not sure of the exact number, but you should easily be able to open, say, 50 input endpoints in contiguous ports). Then just set up the ftp server to use that same range. Also, you'll want to map the input endpoint public port to the same private port number, otherwise connections won't be created properly.
The link in dumbledad's answer is currently unavailable. I was still having issues getting passive FTP running on a new Azure VM after following the steps there.
After a bit of searching, I found this create article Passive FTP and dynamic ports. It's a great walkthrough and provides a simple script to run from your VM to get FTP up and running in a minute. If you are setting up multiple VMs the script is a much quicker way to setup FTP access rather than manually configure IIS and Azure endpoints.