You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Set-AzStorageLocalUser为Azure存储本地用户分配已有SSH密钥?

为Azure存储账户SFTP本地用户分配已有SSH密钥的PowerShell实现

要通过PowerShell将Azure中已创建的SSH密钥分配给存储账户SFTP本地用户,核心逻辑是先提取已有SSH密钥的公钥内容,再传递给本地用户的配置cmdlet,具体步骤如下:

1. 获取已有SSH密钥的公钥内容

使用Get-AzSshKey cmdlet获取目标SSH密钥资源的公钥字符串:

# 替换为你的资源组名称和SSH密钥资源名称
$sshKeyResource = Get-AzSshKey -ResourceGroupName "your-rg-name" -Name "your-ssh-key-resource-name"
$targetPublicKey = $sshKeyResource.PublicKey

2. 构造SSH授权密钥对象并分配给本地用户

Set-AzStorageLocalUser的-SshAuthorizedKey参数需要接收PSsshauthorizedkey类型的对象,因此先通过New-AzStorageLocalUserSshAuthorizedKey构造该对象,再执行配置:

# 替换为你的存储账户名称和目标本地用户名
$storageAccount = Get-AzStorageAccount -ResourceGroupName "your-rg-name" -Name "your-storage-account-name"

# 构造SSH授权密钥对象
$authorizedKey = New-AzStorageLocalUserSshAuthorizedKey -Key $targetPublicKey -Description "Assigned existing Azure SSH key"

# 为本地用户配置SSH密钥
Set-AzStorageLocalUser -ResourceGroupName $storageAccount.ResourceGroupName `
                       -StorageAccountName $storageAccount.StorageAccountName `
                       -UserName "your-local-user-name" `
                       -SshAuthorizedKey $authorizedKey

额外说明

  • 如果是新建本地用户时直接分配密钥,将上述代码中的Set-AzStorageLocalUser替换为New-AzStorageLocalUser,并补充其他必填参数(如HomeDirectory等)即可。
  • 确保你的Az.Storage模块版本为最新稳定版,旧版本可能缺少相关cmdlet,可执行Update-Module Az.Storage升级。

内容的提问来源于stack exchange,提问作者Girish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 14:19:55