Google Cloud SDK 抛出可达性检查失败错误

问题描述 投票:0回答:4

我正在尝试使用

gcloud init
命令在
mac os
上验证我的帐户,它会抛出与
SSL Certificate
相关的错误。我正在使用
python 3.7
和最新版本的 google clound sdk。

> gcloud info --run-diagnostics

Network diagnostic detects and fixes local network connection issues.
Checking network connection...done.
ERROR: Reachability Check failed.
    Cannot reach https://cloudresourcemanager.googleapis.com/v1beta1/projects with httplib2 (SSLCertVerificationError)
    Cannot reach https://www.googleapis.com/auth/cloud-platform with httplib2 (SSLCertVerificationError)
    Cannot reach https://cloudresourcemanager.googleapis.com/v1beta1/projects with requests (SSLError)
    Cannot reach https://www.googleapis.com/auth/cloud-platform with requests (SSLError)
Network connection problems may be due to proxy or firewall settings.

我没有任何公司代理。

更新

gcloud info --run-diagnostics --verbosity debug

的输出
DEBUG: Running [gcloud.info] with arguments: [--run-diagnostics: "True", --verbosity: "debug"]
Network diagnostic detects and fixes local network connection issues.
Checking network connection...⠶DEBUG: Starting new HTTPS connection (1): accounts.google.com:443
Checking network connection...⠧DEBUG: https://accounts.google.com:443 "GET / HTTP/1.1" 302 338
Checking network connection...⠏DEBUG: https://accounts.google.com:443 "GET /ServiceLogin?passive=1209600&continue=https%3A%2F%2Faccounts.google.com%2F&followup=https%3A%2F%2Faccounts.google.com%2F HTTP/1.1" 200 None
Checking network connection...⠛DEBUG: Starting new HTTPS connection (1): cloudresourcemanager.googleapis.com:443
DEBUG: Starting new HTTPS connection (1): www.googleapis.com:443
Checking network connection...⠹DEBUG: Starting new HTTPS connection (1): dl.google.com:443
Checking network connection...⠼DEBUG: https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components-2.json HTTP/1.1" 200 144486
Checking network connection...done.
ERROR: Reachability Check failed.
    Cannot reach https://cloudresourcemanager.googleapis.com/v1beta1/projects with httplib2 (SSLCertVerificationError)
    Cannot reach https://www.googleapis.com/auth/cloud-platform with httplib2 (SSLCertVerificationError)
    Cannot reach https://cloudresourcemanager.googleapis.com/v1beta1/projects with requests (SSLError)
    Cannot reach https://www.googleapis.com/auth/cloud-platform with requests (SSLError)
Network connection problems may be due to proxy or firewall settings.

按照 @JohnHanley 的要求输出

gcloud info

Python Location: [/Library/Frameworks/Python.framework/Versions/3.7/bin/python3]
Site Packages: [Disabled]

Installation Root: [/home/myname/google-cloud-sdk]
Installed Components:
  gsutil: [4.55]
  core: [2020.12.04]
  bq: [2.0.64]
System PATH: [/home/myname/google-cloud-sdk/bin:/usr/local/opt/[email protected]/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/home/myname/Desktop/Projects/google-cloud-sdk/bin:/usr/local/opt/[email protected]/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/home/myname/opt/anaconda3/bin:/home/myname/opt/anaconda3/condabin:/home/myname/Library/Python/3.7/bin:/home/myname/Library/Python/3.7/bin]
Python PATH: [/home/myname/google-cloud-sdk/lib/third_party:/home/myname/google-cloud-sdk/lib:/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload]
Cloud SDK on PATH: [True]
Kubectl on PATH: [/usr/local/bin/kubectl]

WARNING: There are other instances of the Google Cloud Platform tools on your system PATH.
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/dev_appserver.py
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/docker-credential-gcloud
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/endpointscfg.py
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/gcloud
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/git-credential-gcloud.sh
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/java_dev_appserver.sh
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/anthoscli
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/gsutil
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/bq

Installation Properties: [/home/myname/google-cloud-sdk/properties]
User Config Directory: [/home/myname/.config/gcloud]
Active Configuration Name: [abc]
Active Configuration Path: [/home/myname/.config/gcloud/configurations/config_abc]

Account: [None]
Project: [None]

Current Properties:
  [core]
    disable_usage_reporting: [False]

Logs Directory: [/home/myname/.config/gcloud/logs]
Last Log File: [/home/myname/.config/gcloud/logs/2020.12.08/20.07.56.822405.log]

git: [git version 2.24.3 (Apple Git-128)]
ssh: [OpenSSH_8.1p1, LibreSSL 2.7.3]
google-cloud-platform gcloud google-cloud-sdk
4个回答
6
投票

你的系统一团糟。

  • Python Location
    。与
    Python PATH
    PATH
    进行比较。
  • 您的 PATH 中有多个 Python 和 CLI 安装。
  • 您的 PATH 混合了 3.7 和 3.8,这是灾难的根源。
  • 您的安装部分与桌面相关。

我的建议:

  • 删除所有 CLI 安装。
  • 删除旧的 Python 安装 - 考虑删除所有版本并安装新版本(在执行以下步骤并重新启动后),因为我相信您的 Python 库现在已经混乱了。
  • 删除所有 Google CLI 安装 (gcloud)。
  • 清理路径并删除您删除的目录。
  • 确保不留下任何残留物。
  • 重新启动。
  • 全新安装 Google CLI。

提示。不要相对于 Python 或 CLI 的主目录进行安装。

删除 macOS 上的 Python 安装。

这是一个总结。确切的步骤取决于您的设置。本质上,您希望从 PATH 变量、环境和 PYTHON 变量中删除 Python 和 CLI。还要从磁盘中删除它们,以便您可以完成全新安装。

  • 操作系统有自己的安装。它位于
    /Library/Frameworks/Python.framework
    。您有不止一次的重复安装。阅读本文以删除这些安装:https://www.macupdate.com/app/mac/5880/python/uninstall
  • 我建议修改 PATH 以删除 3.7 和 3.8 版本,并修改您的环境以删除这些引用。
  • 从路径中删除
    /Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip
  • 删除目录
    /home/myname/Library/Python/3.7/bin
    和内容。
  • 删除目录
    /home/myname/Library/Python/3.8/bin
    和内容。
  • 阅读此链接以删除 Google SDK https://cloud.google.com/sdk/docs/uninstall-cloud-sdk
  • 删除PYTHONPATH等与PYTHON相关的环境变量。
  • 从 PATH 中删除以
    /home/myname/google-cloud-sdk
    开头的任何内容。同时删除目录和内容。

注意:您还安装了 Anaconda。我建议删除它,因为它也有自己的 Python 版本。


1
投票

如果您的实例配置为使用 SSL,请转到 Cloud Console 中的 Lux 实例页面并打开该实例。打开其连接页面并确保您的服务器证书有效。如果它已过期,您必须添加新证书并轮换到它。

根据此上一个线程,您需要通过运行以下命令来升级您的证书:

pip3 install --upgrade certifi

尝试一下,如果您仍然需要任何帮助,请告诉我。


0
投票

$ (安全查找证书-a -p ls /System/Library/Keychains/SystemRootCertificates.keychain && 安全查找证书-a -p ls /Library/Keychains/System.keychain) > $HOME/.mac-ca-根

$ 导出 REQUESTS_CA_BUNDLE="$HOME/.mac-ca-roots"

$ gcloud 配置集 core/custom_ca_certs_file $HOME/.mac-ca-roots


0
投票

我也遇到了这个错误,但是我收到的是

timed out
消息,而不是 SSL 错误。

我不得不禁用 IPv6。例如这样(Ubuntu):

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
© www.soinside.com 2019 - 2024. All rights reserved.