No-SSL FTP server with Microsoft Azure VM

At our company, we are given monthly Azure credits. Then recently, in my project, I needed an FTP server for testing a feature, so instead of signing up for trial accounts with third-party vendors, I thought of creating one with Azure. This is a simple, straight-forward guide. Of course in production, you need to think of a more secured way like requiring SSL, but this should get you started.

Provisioning an Azure VM

As you can see, I already chose to allow certain inbound ports while configuring my VM. I left everything else with their default values.

More FTP ports to open

Once your VM deployment is complete, go to Settings > Networking > Add inbound port rule.

  • Allow FTP port 21
  • Then allow a port range for Passive connection.

Here’s a good explanation about

Server Manager configuration

Connect to your VM using RDP. From the Azure Portal > Connect > Download RDP file. Once downloaded, open it, enter the credentials you used while provisioning the VM.

On your VM, open Server Manager Dashboard, choose

Choose under Installation Type of the Add roles and features Wizard

Just hit Next on

Under choose Web Server (IIS), then go ahead and

Just hit Next on and

Under , in addition to the pre-selected roles, select

Hit Next then

Creating the FTP site

Open the IIS Manager > Choose the server > FTP Firewall Support

Under Data Channel Port Range, enter the port range you allowed for FTP Passive connection, then Apply.

Right click on Sites, choose Add FTP Site, give it a Site name and Physical Path, then hit Next

Under Binding and SSL Settings > SSL, choose No SSL

Under Authentication and Authorization Information

  • Authentication: Basic
  • Authorization: All users
  • Permissions: Read and Write

Hit Finish

Choose your FTP site > FTP Firewall Support > Under External IP Address of Firewall > Enter the Public IP address of your VM (this can be found on your Azure Portal) > Apply

Open the Services > Restart

Connecting to the FTP site using WinSCP

Create a new WinSCP session, then login to the FTP site

There you have it!

Cheers! :)

I’m an MCSD, I’ve been developing applications for 10 years now, It’s my profession and hobby. Hoping to contribute to the community :)