我们正在尝试使用 Azure 中的项目特定 VM 实现远程开发模型,并允许用户使用 Azure AD 身份验证和 MFA 从 VS 代码进行连接。 它适用于公钥,但不适用于 Azure AD 身份验证。
有一些建议禁用本地服务器选项并启用控制台,以便用户可以单击设备登录链接并输入代码。然而,该模型已被 Microsoft 弃用。所以当前可用的选项是使用 az ssh 模块(或我找不到的东西)
https://learn.microsoft.com/en-us/azure/active-directory/devices/howto-vm-sign-in-azure-ad-linux
感谢有关如何为此模型配置身份验证的任何指导
您需要按照Microsoft文档中提到的步骤为用户启用AD登录。
使用 az-cli 从 vscode 执行 ssh 的强制或要求的步骤:
创建虚拟机时,请确保您具有
Login with Azure AD preview
Enabled,并打开SSH
、HTTP
和HTTPS
端口:
在 Visual Studio Code 中,请确保 Azure CLI 为 az 模块安装了扩展
ssh
。要安装,您可以按照以下 2 个命令操作:
az login # login using your Azure AD user credentials
az extension add --name ssh # install the ssh extension
请确保在使用
user
登录 Azure AD 之前,您必须为该用户分配 rbac
角色,即 Virtual Machine Administrator Login/ Virtual Machine User Login
如果您不向用户提供角色,您将面临以下错误:
要分配角色,您可以前往
VM in Portal >> Access Control(IAM)>>add role assignment>> select VM admin login /VM user login >> add the users and assign
。
完成上述操作后,您将能够使用 az 通过 SSH 连接到虚拟机 来自 vscode 的模块如下所示:
命令:
az login # user who will login need to authenticate
az ssh vm -n vmname -g resourcegroupname # SSH to the VM
更新:
上述问题的第二部分是如何使用 azure 广告凭据从 VSCODE 使用远程桌面:
这里有一个功能请求
https://github.com/microsoft/vscode-remote-release/issues/10421
如果你想点赞和评论。
这个想法是改进 RemoteSSH 插件以与 AADSSHLogin 扩展功能集成。