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 sshaz extension update --name ssh - 先验证命令行连通性,确保认证链路正常:
该命令执行成功可正常登录VM的话,再进行后续VS Code配置az ssh vm --name <你的VM名称> --resource-group <你的资源组名称>
VS Code Remote-SSH适配
- 安装VS Code官方「Remote-SSH」扩展
- 按F1唤起命令面板,搜索并选择「Remote-SSH: Open SSH Configuration File」,选择当前用户目录下的
.ssh/config文件打开 - 新增VM连接配置:
注意:Windows环境Azure CLI默认路径为Host <自定义VM别名> HostName <VM的公网IP/私网IP,确保本地网络可连通该地址> User <你的Azure AD完整账号,例:user@contoso.com> ProxyCommand "<Azure CLI执行路径>" ssh proxy --resource-group <你的资源组名称> --name <你的VM名称>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
相关产品推荐
相关产品推荐

