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

使用Azure Bastion隧道连接数据库时出现KeyError: 'authToken'错误

Azure Bastion隧道SSH连接触发KeyError: 'authToken'问题排查

问题场景

本地执行Azure CLI命令创建Bastion隧道:

az network bastion tunnel --name name --resource-group group --target-resource-id subscriptionid --resource-port 22 --port 2222 --subscription subscription

隧道创建成功,返回提示:

Opening tunnel on port: 2222
Tunnel is ready, connect on port 2222

但发起SSH连接时,抛出KeyError异常:

Exception in thread Thread-1 (_start_tunnel):
Traceback (most recent call last):
  File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
    self.run()
  File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 982, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/user/.azure/cliextensions/bastion/azext_bastion/custom.py", line 364, in _start_tunnel
    tunnel_server.start_server()
  File "/Users/user/.azure/cliextensions/bastion/azext_bastion/tunnel.py", line 195, in start_server
    self._listen()
  File "/Users/user/.azure/cliextensions/bastion/azext_bastion/tunnel.py", line 123, in _listen
    auth_token = self._get_auth_token()
                 ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.azure/cliextensions/bastion/azext_bastion/tunnel.py", line 112, in _get_auth_token
    self.last_token = response_json["authToken"]
                      ~~~~~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'authToken'

已将Azure CLI及Bastion扩展更新至最新版本。

排查与解决步骤

  • 修正目标资源ID格式
    --target-resource-id需传入完整的目标资源ID(如虚拟机、数据库服务器的资源ID),格式示例:/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}。若误传订阅ID,会导致服务返回的响应中无authToken字段。

  • 验证网络连通性

    • 确认Bastion所在VNet与目标资源VNet已配置对等连接(跨VNet场景)。
    • 检查目标资源的NSG规则,允许Bastion的公共IP或VNet内IP访问目标端口(此处为22)。
  • 刷新Azure CLI认证
    执行以下命令重新登录,刷新会话令牌:

    az logout
    az login
    
  • 检查权限配置
    确保当前账号拥有:

    • Bastion资源的Microsoft.Network/bastions/connect/action权限
    • 目标资源的对应连接权限(如VM的Microsoft.Compute/virtualMachines/connect/action)
  • 回退Bastion扩展版本
    若最新版本存在兼容性问题,尝试降级到稳定版本:

    az extension remove --name bastion
    az extension add --name bastion --version 0.2.0
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 10:02:30