gcloud auth print-identity-token命令异常耗时挂起问题求助
我日常使用Google Cloud SDK的gcloud工具通过公司代理连接服务,依赖gcloud auth print-identity-token获取访问令牌。但今天执行该命令时耗时极长,经常终端无限挂起。查看日志发现延迟出现在网络连接请求或检查环节(涉及Python的urllib3库)。
环境信息:
- Python 3.11.8
- 系统:Manjaro
- 已按官方指南重装gcloud,问题未解决
排查与修复步骤
检查代理配置一致性
执行gcloud config list proxy查看当前gcloud代理设置,对比系统HTTP/HTTPS代理环境变量(echo $HTTP_PROXY/echo $HTTPS_PROXY)。若配置不一致,用以下命令统一:gcloud config set proxy/address <代理地址> gcloud config set proxy/port <代理端口>强制gcloud使用系统Python
gcloud内置Python可能与系统Python的urllib3存在依赖冲突,尝试调用系统Python执行命令:CLOUDSDK_PYTHON=/usr/bin/python3 gcloud auth print-identity-token若正常执行,可将
export CLOUDSDK_PYTHON=/usr/bin/python3添加到~/.bashrc或~/.zshrc中持久生效。临时禁用SSL验证排查证书问题
若代理存在SSL证书信任问题,临时禁用验证测试:export CLOUDSDK_DISABLE_SSL_VALIDATION=true gcloud auth print-identity-token测试通过后,需配置代理证书到gcloud信任链:
gcloud config set core/custom_ca_certs_file <代理证书路径>注意:禁用SSL验证仅用于测试,生产环境请勿长期启用。
重置gcloud网络配置
执行以下命令清空所有网络相关配置,排除错误设置干扰:gcloud config unset proxy/address gcloud config unset proxy/port gcloud config unset core/custom_ca_certs_file gcloud config unset core/network_timeout重新配置代理后再次测试。
检查网络连通性与防火墙
通过curl -v https://oauth2.googleapis.com/tokeninfo测试Google身份验证端点的连通性,确认Manjaro防火墙或公司网络策略未限制该域名的访问。
内容的提问来源于stack exchange,提问作者Marcello Fabrizio

