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

MacBook M1使用gcloud SSH端口转发时遇SSL证书验证失败错误求助

GCP IAP SSH隧道SSL证书验证失败问题排查与解决

你遇到的这个SSL证书错误,核心是gcloud建立IAP隧道的WebSocket连接时,无法验证服务器证书链,常见原因和解决办法如下:

可能的原因

  • 本地网络代理/安全软件拦截:公司内网的代理服务器、防火墙或安全软件(如杀毒软件)使用了自签名证书,拦截了IAP隧道的HTTPS连接,导致证书链验证失败。
  • gcloud自带CA证书库不完整:M1 MacBook的gcloud二进制包自带的Python环境可能未包含系统根证书,或者证书库缺失了GCP IAP服务所需的根证书。
  • 系统SSL环境变量冲突:如果.zprofile或其他配置文件中设置了SSL_CERT_FILE等环境变量,可能导致gcloud使用了错误的证书路径。

解决办法

1. 让gcloud使用系统根证书

M1 Mac的系统根证书路径为/etc/ssl/cert.pem,通过环境变量让gcloud优先使用这个证书库:

# 临时生效,当前终端执行
export CLOUDSDK_PYTHON_SSL_CERT_FILE=/etc/ssl/cert.pem
# 永久生效,添加到~/.zprofile末尾
echo 'export CLOUDSDK_PYTHON_SSL_CERT_FILE=/etc/ssl/cert.pem' >> ~/.zprofile
source ~/.zprofile

设置完成后重新执行IAP SSH命令即可。

2. 临时跳过证书验证(仅限测试环境)

如果只是临时测试,可通过环境变量关闭证书验证(注意:此方法不安全,禁止生产环境使用):

CLOUDSDK_PYTHON_SSL_CERT_VALIDATE=0 gcloud compute ssh mbadas-dev-bastionhost \
    --tunnel-through-iap \
    --project=mb-adas-mlops-d-0031 \
    --zone=europe-west4-a

3. 更新gcloud到最新版本

旧版本gcloud可能存在M1平台的证书兼容问题,执行更新修复:

gcloud components update

4. 检查代理配置

如果使用了网络代理,先确认gcloud的代理配置是否正确:

gcloud config list proxy

若代理使用自签名证书,需将该证书导入系统钥匙串(打开钥匙串访问,将证书拖入并设置为“始终信任”),或通过CLOUDSDK_PYTHON_SSL_CERT_FILE指定包含该证书的路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 12:12:39