我看到很多关于如何连接到 Azure 和上传 VM 的困惑。它涉及使用 创建管理证书makecert
并使用 上传csupload
,并且有很多标志会出错。所以我想我会问这个问题并回答它以节省一些麻烦。
2 回答
(从最初的问题中剪切并粘贴为答案)
基本原则
您必须安装 Visual Studio 和 Azure SDK。
要连接到 Azure,您需要在本地计算机上创建一个安全证书来识别您。然后转到 Azure 并导入证书。现在,您的本地计算机和 Azure 可以安全地相互通信了。出于这个原因,您不能在一台机器上开始工作并在另一台机器上完成它。在一台机器上工作。
您必须在当前用户证书存储中拥有该证书,并且还必须导出到您的硬盘驱动器。您需要硬盘驱动器上的副本才能上传到 Azure,并且需要在证书存储中使用它,因为当您连接到 Azure 时,它会在其中查找它。您可以在硬盘驱动器上创建它并导入它,也可以在证书存储中创建它并导出它。以下说明向您展示如何执行后者。
创建证书
以管理员身份打开 Visual Studio 命令提示符。(右键单击菜单项,然后单击“以管理员身份运行”。
复制/粘贴以下内容:
makecert -sky exchange -r -n "CN=MyCertificateName" -pe -a sha256 -len 2048 -ss My "MyCertificateName.cer"
这将创建证书并将其安装在您的当前用户证书存储中。它不会在您的硬盘驱动器上创建副本。是“我的”关键字导致证书存储在您当前帐户的证书存储中。通过在开始菜单命令中键入 certmgr 打开证书管理器。您应该在顶部看到证书 - 当前用户。打开 Personal/Certificates,您应该会看到刚刚创建的证书。
右键单击证书,然后单击所有任务、导出。点击下一步。选择否不导出私钥。点击下一步。选择 DER 编码格式。点击下一步。将证书保存在硬盘驱动器上的某个位置,名称与您创建它时使用的名称相同(不必相同,但可以避免混淆)。
将证书导入 Azure
登录到 Azure。
单击设置,然后单击管理证书,然后单击上传。
浏览到您刚刚导出并保存的管理证书,然后上传。
从上传的证书中复制订阅标识符和指纹并将它们粘贴到文本文件中。将文件保存在本地硬盘上。您需要这些数字方便下一步。
如果您想安全,请删除您导出到硬盘的证书。你不再需要它了。当 Azure 向您授权时,它将在您的证书存储中查找证书,而不是在您的硬盘驱动器上。
此时,您可以在您的计算机/帐户和 Azure 之间建立安全连接。您现在将使用此安全连接上传您的虚拟机。
上传您的虚拟机
首先建立与 Azure 的安全连接。以管理员身份打开 Azure 命令提示符并输入以下内容:
csupload Set-Connection "SubscriptionId=YourSubscriptionIdGoesHere;CertificateThumbprint=YourCertificateThumbPrintGoesHere;ServiceManagementEndpoint= https://management.core.windows.net "
最后是上传文件的时候了。打开 Azure 门户,选择您的存储帐户并复制 Blob 服务终结点 URL。在与上述相同的 Azure 命令提示符处输入以下内容:
csupload Add-PersistentVMImage -Destination "YourBlobServiceEndPointUrlGoesHere/vhds/YourVhdNameGoesHere" -Label YourVhdNameGoesHere-LiteralPath "ThePathToYourVhdOnTheLocalComputerGoesHere" -OS Windows
VHD 应该开始上传。
这是一种更简单的方法,您需要:
Windows Azure PowerShell
- 打开“Windows Azure PowerShell”
- 或 - 打开 PS 提示符并运行:
Set-ExecutionPolicy RemoteSigned
Import-Module "C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1"
2.Get-AzurePublishSettingsFile
(会提示你保存下一步需要的.publishsettings文件)
3. 导入-AzurePublishSettingsFile "C:\Temp\Windows Azure...credentials.publishsettings"
4. add-azurevhd -destination "https://.blob.core.windows.net/vhds/File.vhd" -localfilepath "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\File.vhd "
有关详细信息,请参阅:
Windows Azure Cmdlet 入门