0121 31 45 374
Qoute Icon

How to setup passive FTP on a Windows Azure virtual machine

Tim

This is more of a reminder for me than anything else. If you're looking for a great walkthrough on how to configure Passive FTP on a Windows Azure VM, check out the walkthrough from Ronald here -it got us up and running.

The thing that takes the time to write each time is the powershell script side of things so this time I made some notes:

  1. Run Get-AzurePublishSettingsFile to get your publishsettings file (save it somewhere easily accessible
  2. Run Import-AzurePublishSettingsFile d:\Azure.publishsettings
  3. Run the Get-AzureVM calls listed below (you can copy/paste in one go and powershell will work it's way through them -it can take a few minutes). If you're not sure what <ServiceName> and <Name> should be, these are the names you configured your VMs. 
    1. To get the Service Name Run: Get-AzureVM
    2. To get the Name of the server run: Get-AzureVM -ServiceName '<ServiceName>' (from above)
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPData' -Protocol 'TCP' -LocalPort 20 -PublicPort 20 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTP' -Protocol 'TCP' -LocalPort 21 -PublicPort 21 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive00' -Protocol 'TCP' -LocalPort 7000 -PublicPort 7000 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive01' -Protocol 'TCP' -LocalPort 7001 -PublicPort 7001 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive02' -Protocol 'TCP' -LocalPort 7002 -PublicPort 7002 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive03' -Protocol 'TCP' -LocalPort 7003 -PublicPort 7003 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive04' -Protocol 'TCP' -LocalPort 7004 -PublicPort 7004 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive05' -Protocol 'TCP' -LocalPort 7005 -PublicPort 7005 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive06' -Protocol 'TCP' -LocalPort 7006 -PublicPort 7006 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive07' -Protocol 'TCP' -LocalPort 7007 -PublicPort 7007 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive08' -Protocol 'TCP' -LocalPort 7008 -PublicPort 7008 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive09' -Protocol 'TCP' -LocalPort 7009 -PublicPort 7009 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive10' -Protocol 'TCP' -LocalPort 7010 -PublicPort 7010 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive11' -Protocol 'TCP' -LocalPort 7011 -PublicPort 7011 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive12' -Protocol 'TCP' -LocalPort 7012 -PublicPort 7012 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive13' -Protocol 'TCP' -LocalPort 7013 -PublicPort 7013 | Update-AzureVM
    Get-AzureVM -ServiceName '<ServiceName>' -Name '<Name>' | Add-AzureEndpoint -Name 'FTPPassive14' -Protocol 'TCP' -LocalPort 7014 -PublicPort 7014 | Update-AzureVM
    
    

Liked this post? Got a suggestion? Leave a comment