我正在尝试使用
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]
你的系统一团糟。
Python Location
。与 Python PATH
和 PATH
进行比较。我的建议:
提示。不要相对于 Python 或 CLI 的主目录进行安装。
删除 macOS 上的 Python 安装。
这是一个总结。确切的步骤取决于您的设置。本质上,您希望从 PATH 变量、环境和 PYTHON 变量中删除 Python 和 CLI。还要从磁盘中删除它们,以便您可以完成全新安装。
/Library/Frameworks/Python.framework
。您有不止一次的重复安装。阅读本文以删除这些安装:https://www.macupdate.com/app/mac/5880/python/uninstall/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip
。/home/myname/Library/Python/3.7/bin
和内容。/home/myname/Library/Python/3.8/bin
和内容。/home/myname/google-cloud-sdk
开头的任何内容。同时删除目录和内容。注意:您还安装了 Anaconda。我建议删除它,因为它也有自己的 Python 版本。
如果您的实例配置为使用 SSL,请转到 Cloud Console 中的 Lux 实例页面并打开该实例。打开其连接页面并确保您的服务器证书有效。如果它已过期,您必须添加新证书并轮换到它。
根据此上一个线程,您需要通过运行以下命令来升级您的证书:
pip3 install --upgrade certifi
尝试一下,如果您仍然需要任何帮助,请告诉我。
$ (安全查找证书-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
我也遇到了这个错误,但是我收到的是
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