vscode-remote-ssh 无法与使用 Azure AD 身份验证的 SSH 配合使用

问题描述 投票:0回答:2

我们正在尝试使用 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

感谢有关如何为此模型配置身份验证的任何指导

visual-studio-code azure-active-directory vscode-remote
2个回答
4
投票

您需要按照Microsoft文档中提到的步骤为用户启用AD登录。

使用 az-cli 从 vscode 执行 ssh 的强制或要求的步骤:

  1. 创建虚拟机时,请确保您具有

    Login with Azure AD preview
    Enabled,并打开
    SSH
    HTTP
    HTTPS
    端口:

    enter image description here

  2. 在 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
    
  3. 请确保在使用

    user
    登录 Azure AD 之前,您必须为该用户分配
    rbac
    角色,即
    Virtual Machine Administrator Login/ Virtual Machine User Login

    如果您不向用户提供角色,您将面临以下错误:

    enter image description here

    要分配角色,您可以前往

    VM in Portal >> Access Control(IAM)>>add role assignment>> select VM admin login /VM user login >> add the users and assign

    enter image description here

  4. 完成上述操作后,您将能够使用 az 通过 SSH 连接到虚拟机 来自 vscode 的模块如下所示:

    命令:

    az login # user who will login need to authenticate
    az ssh vm -n vmname -g resourcegroupname # SSH to the VM
    

    enter image description here


更新:

上述问题的第二部分是如何使用 azure 广告凭据从 VSCODE 使用远程桌面:

  1. 在 vscode 中运行这 2 个命令:

    az login
    az ssh config --ip VMPublicIP --file C:\Users\user\terraform\sshconfig # saves the config file with your azureadcredentials
    

    enter image description here

  2. 复制使用下载的文件的整个上下文 上述命令用于虚拟机的远程 ssh 配置文件。

    enter image description here

  3. 完成上述操作后,请连接到主机以获取相同的文件 您已完成上述步骤的配置。

    enter image description here


0
投票

这里有一个功能请求

https://github.com/microsoft/vscode-remote-release/issues/10421

如果你想点赞和评论。

这个想法是改进 RemoteSSH 插件以与 AADSSHLogin 扩展功能集成。

© www.soinside.com 2019 - 2024. All rights reserved.