Connecting to an Azure website via FTP using Azure login credentials
In the current Azure portal the deployment credentials can be set by going to App Services → select the relevant app service item → in the Deployment section → Deployment Center → FTP → Dashboard. You can either chose to use the preprovided App Credentials or assign User Credentials.
In the previous generation Azure portal the deployment credentials can be set up by going to WEB APPS → select relevant item → DASHBOARD → Reset your deployment credentials.
Make sure you're specifying siteName\userName as your login name. The site name portion is required!
The default directory for the web content is \site\wwwroot which can be set as the initial directory for many FTP clients.
If you want use the default value you need to download the publish profile in your dashboard for your site:
[UPDATE for the new Azure UI]
It will be an XML file. Open it and find your credentials. Sample:
<publishProfile
profileName="nameofyoursite - FTP"
publishMethod="FTP"
publishUrl="ftp://waws-prod-blu-001.ftp.azurewebsites.windows.net/site/wwwroot"
ftpPassiveMode="True"
userName="nameofyoursite\$nameofyoursite"
userPWD="sOmeCrYPTicL00kIngStr1nG"
destinationAppUrl="http://nameofyoursite.azurewebsites.net"
SQLServerDBConnectionString=""
mySQLDBConnectionString=""
hostingProviderForumLink=""
controlPanelLink="http://windows.azure.com">
<databases/>
</publishProfile>
Where your credentials:
publishUrl="ftp://waws-prod-blu-001.ftp.azurewebsites.windows.net/site/wwwroot"
userName="nameofyoursite$nameofyoursite"
userPWD="sOmeCrYPTicL00kIngStr1nG"
Source: Azure Web Sites FTP credentials
Connection from command line on OS X:
Console client:
ftp ftp://nameofyoursite:sOmeCrYPTicL00kIngStr1nG@waws-prod-blu-001.ftp.azurewebsites.windows.net/
Mount from the console:
mkdir /Users/<YOUR_USER>/FTP_AZURE
mount_ftp nameofyoursite:sOmeCrYPTicL00kIngStr1nG@waws-prod-blu-001.ftp.azurewebsites.windows.net/ /Users/<YOUR_USER>/FTP_AZURE
cd /Users/<YOUR_USER>/FTP_AZURE
Open for editing in Vim:
vim ftp://[email protected]//site/wwwroot/
Note the user name here: nameofyoursite, not nameofyoursite$nameofyoursite
To be complete, you can FTP using two different credentials:
-
It is already mentioned by @0x8BADF00D. If you downloaded the 'publish profile', you can see the automatically generated credentials for each site.
In short, if
x=your website name
, thenusername=x\$x
and the password is a long system generated stringObviously, this is not meant for a human user...at least I cannot easily remember a 20+ character random string...
-
There is a more user friendly way. You can set a username and password in Azure portal
However, "deployment user name" is directly tied to a Microsoft account. It is the same for all your web applications. In order to use it to ftp into different web applications, you need to add a prefix.
Here, my username is "blabla", and my website name is "test" ==> my FTP username is thus "test\blabla" (mind the backslash on Windows) followed by the password I set on Azure portal (no modification required):
Here are the references from Azure:
-
Why there are two credentials for FTP
-
How to log in with the user friendly credential
In the Azure portal (end of 2018):
- Go to your app
- In the left pane, select Deployment Center
- In the middle pane, select FTP
- Click view dashboard, and there you have your ftps connection url, username and password.
You must enable FTP/S on your web app to actually be able to connect! This is done under Application Settings -> FTP Access in the Azure portal
These two blades give all the required information to connect via FTP.