Google Cloud SDK - 自动化 gcloud auth 登录网络流程

Google Cloud SDK - Automate gcloud auth login web flow

在我安装google cloud sdk后,当我运行'gcloud auth login'时,它提供了一个link来复制粘贴到我的浏览器以获取新的凭证并验证我的帐户。

但是,我想在远程机器上设置和使用 gcloud,用户将无法复制粘贴在浏览器中生成的 link 并将生成的验证码粘贴回终端。如何在没有用户干预的情况下自动执行此操作?

我的帐户是最终用户帐户,即不是服务帐户。

是否有任何其他替代方法可以执行此操作,从而我可以使用生成的 link 预验证我的帐户以在本地计算机上的浏览器中使用,然后在远程计算机上使用相同的配置?

提前致谢!

根据 Vilas 的评论更新:

我很确定我使用的是正确的 json 密钥文件,因为我在从 google 开发人员控制台下载后没有修改 name/contents。我尝试从上面的命令中删除 account@gmail.com 。但仍然出现相同的错误

ERROR: (gcloud.auth.activate-service-account) The .json key file is not in a valid format. Your current active account [account@gmail.com] does not have any valid credentials.Please run:

  $ gcloud auth login

to obtain new credentials, or if you have already logged in with a
different account:

  $ gcloud config set account ACCOUNT

to select an already authenticated account to use.

Your current active account [account@company.com] does not have any valid credentials
Please run:

  $ gcloud auth login

to obtain new credentials, or if you have already logged in with a
different account:

  $ gcloud config set account ACCOUNT

to select an already authenticated account to use.

快速检查一下您是否拥有正确的 --key-file .json 文件:它必须包含 client_email field/attribute.

我刚遇到同样的问题,密钥没有显示任何电子邮件地址,所以我在 Developers Console 中为服务帐户生成了一个新密钥,它是用电子邮件地址创建的。