我如何获取我的实际Azure网站部署密码?

59 浏览
0 Comments

我如何获取我的实际Azure网站部署密码?

在Visual Studio 2015中,当我将我的网站/ Web 应用程序发布到 Azure 时,可以通过输入我的个人 Azure 账户凭据自动创建一个新的发布配置文件(.pubxml 和 .pubxml.user 文件)。部署用户名的格式为“$websiteName”,密码由一系列长点组成。.pubxml.user 文件包含实际密码,该密码已加密,只有我的 Visual Studio 可以通过使用本地 Windows 用户帐户对其进行解密,我作为人类无法查看密码。此外,.user 文件不包含在源代码控制中(但.pubxml 文件包含在源代码控制中)。

当我的团队中的其他人尝试部署网站时,他们会获得相同的部署设置,但会提示输入“$website”帐户的密码。我不知道从哪里获取此密码- Azure 管理门户不显示密码。

如果该用户打开门户并选择重置发布配置文件,则可以下载一个包含仅其个人 Azure 凭据可以解密的加密密码的新.pubxml 文件,但这会破坏我和其他用户的部署,因为现在他们的保存密码(在.user 文件中)是无效的。

我理解这是与 Azure 门户上的“部署凭据”不同的用户名和密码,因为当前网站没有设置部署凭据,此外,如果我要设置一个,用户名也不同。该门户指出这些凭据是用于 FTP 访问的,没有提到 Web Deploy 功能。

admin 更改状态以发布 2023年5月25日
0
0 Comments

如果你不熟悉 PowerShell,你可以尝试以下指示,使用Azure cli获取部署用户名和密码。

az webapp deployment list-publishing-profiles --name your_web_app_name --resource-group your_resource_group

enter image description here

你也可以添加--query来检索"userPWD"

az webapp deployment list-publishing-profiles --name your_web_app_name --resource-group your_resource_group --query '[].userPWD' -o tsv

输出将像这样

oMarhPTTJc6F7muHfz11232342342342342420tv5Lwikf1Xc

0
0 Comments

您可以通过 Azure 门户或 PowerShell/CLI 获取当前凭据。

Azure 门户

在门户上,Web 应用程序面板顶部有一个按钮可下载发布配置文件(不是部署凭据面板,而是主要的 Web 应用程序面板)。

2019 年 4 月 Azure 门户屏幕截图

Azure PowerShell

首先,请确保已安装 Azure PowerShell cmdlet:https://learn.microsoft.com/en-us/powershell/azure/install-azurerm-ps?view=azurermps-6.3.0

  1. 打开提升的 PowerShell 窗口。
  2. 输入 $PSVersionTable.PSVersion。确保输出显示您拥有 5 版或更新版的主要版本。如果此命令给出错误,则正在运行 PowerShell v1,这已经是古老的版本了。
  3. 输入 Install-Module -Name AzureRM(您可能会提示更新 NuGet,在这种情况下,请更新)
  4. 等待安装完成。
  5. 输入 Import-Module AzureRM
  6. 输入 Connect-AzureRmAccount 并完成身份验证过程。
  7. 运行此命令将发布配置文件保存到磁盘上的文件中(为了易读性添加了换行符,在实际情况下将其放在单行上)。根据需要设置 $WebAppName$ResourceGroupName

    Get-AzureRmWebAppPublishingProfile
        -ResourceGroupName $ResourceGroupName
        -Name $WebAppName
        -OutputFile creds.xml
        -Format WebDeploy
    

.publishsettings 文件

.publishsettings 文件是一个 XML 文件(没有换行符)。在其中,您将找到一个具有此结构的文档。查找具有 publishMethod="MSDeploy" 元素中的 userPWD 属性。不要使用 FTP 凭据(第二个 元素中的)因为用户名不同。

userPWD 属性值未加密,但是是完全随机字节的 base64(或 base62?)编码。您可以直接将此值复制并粘贴到 Visual Studio 发布向导中的凭据提示中。


    
        
    
    
        
    

0