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

如何修改Google Cloud Shell应用默认凭据存储路径及重置方法?

问题分析与解决方法

原因说明

  • gcloud auth application-default login的凭据存储逻辑:默认情况下,这个命令会把凭据写到~/.config/gcloud/application_default_credentials.json。但如果第一次执行时指定了不存在的错误路径(比如拼写错了),gcloud会把这个错误路径存在自己的配置里,之后每次执行都会先尝试往这个错误路径写,失败后就自动 fallback 到临时目录。
  • 关于GOOGLE_APPLICATION_CREDENTIALS环境变量:这个变量是给Terraform这类依赖Google SDK的应用指定凭据路径用的,它管不了gcloud auth application-default login命令往哪写凭据——这个命令的写入路径是gcloud自己的配置说了算的。所以哪怕你设了这个变量,命令还是会按自己的配置路径去写,失败就用临时目录,同时因为变量指向的路径和实际生成的路径对不上,系统就会提示你得取消变量设置才能用临时目录里的凭据。

重置修复步骤

  1. 查看当前gcloud的凭据路径配置
    先确认gcloud里存的凭据路径是否错误,执行:

    gcloud config get-value auth/application_default_credential_file
    

    如果返回的是你之前拼写错误的路径,就需要重置配置。

  2. 重置gcloud的凭据路径配置
    把配置改回默认路径,执行:

    gcloud config unset auth/application_default_credential_file
    

    或者直接手动指定正确的目标路径:

    gcloud config set auth/application_default_credential_file /home/raymond_w_lang/.config/gcloud/application_default_credentials.json
    
  3. 重新生成应用默认凭据
    再次执行登录命令,此时凭据会写入你指定的正常路径:

    gcloud auth application-default login
    
  4. 适配Terraform的设置
    如果要让Terraform使用这个凭据,有两种方式:

    • 确保GOOGLE_APPLICATION_CREDENTIALS环境变量指向正确路径,若之前设置过想取消,执行:
      unset GOOGLE_APPLICATION_CREDENTIALS
      
    • 不设置该变量,Terraform会自动读取默认路径~/.config/gcloud/application_default_credentials.json。
      要是想永久设置环境变量,根据你的shell类型修改配置文件(比如bash改~/.bashrc,zsh改~/.zshrc),添加一行:
    export GOOGLE_APPLICATION_CREDENTIALS="/home/raymond_w_lang/.config/gcloud/application_default_credentials.json"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:56:06