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

VS Code Remote SSH对接Azure AD SSH认证无法使用问题咨询

基于Azure AD MFA的VS Code远程连接Azure VM配置步骤

前置校验

  • 目标Linux VM已安装AADSSHLoginForLinux扩展,可在Azure门户VM的「扩展 + 应用」页面确认,未安装先完成扩展部署
  • 需登录的Azure AD用户/组已被分配VM对应权限:进入VM的「访问控制(IAM)」页添加角色分配,按需选择「虚拟机管理员登录」或「虚拟机用户登录」角色,分配给目标账号
  • 本地环境安装Azure CLI(版本≥2.22.0),首次使用先执行az login完成本地账号认证,流程会自动触发MFA校验

核心配置(az ssh模块方案,替代已弃用的设备码登录模式)

  • 安装Azure CLI的ssh扩展:
    az extension add --name ssh
    
    已安装的用户可执行以下命令升级到最新版本:
    az extension update --name ssh
    
  • 先验证命令行连通性,确保认证链路正常:
    az ssh vm --name <你的VM名称> --resource-group <你的资源组名称>
    
    该命令执行成功可正常登录VM的话,再进行后续VS Code配置

VS Code Remote-SSH适配

  • 安装VS Code官方「Remote-SSH」扩展
  • 按F1唤起命令面板,搜索并选择「Remote-SSH: Open SSH Configuration File」,选择当前用户目录下的.ssh/config文件打开
  • 新增VM连接配置:
    Host <自定义VM别名>
      HostName <VM的公网IP/私网IP,确保本地网络可连通该地址>
      User <你的Azure AD完整账号,例:user@contoso.com>
      ProxyCommand "<Azure CLI执行路径>" ssh proxy --resource-group <你的资源组名称> --name <你的VM名称>
    
    注意:Windows环境Azure CLI默认路径为C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe -m azure.cli,macOS/Linux环境直接替换为az的绝对路径即可,例:/usr/local/bin/az
  • 配置保存后,按F1选择「Remote-SSH: Connect to Host」,选择刚添加的VM别名即可完成连接:本地Azure CLI账号token有效时会直接连通,token过期时会自动唤起浏览器完成MFA认证

常见问题排查

  • 权限报错:确认IAM角色分配已生效,且用户Azure AD账号未被限制MFA使用
  • 连接超时:检查VM网络安全组入站规则已放行22端口,本地网络可正常访问VM对应IP
  • ProxyCommand执行失败:优先确认命令行az ssh vm命令可正常连接,再检查配置中的Azure CLI路径是否正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:54:02