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

Cloud Build中gcloud scp因known_hosts写入失败问题求助

解决Cloud Build中gcloud compute scp无法写入known_hosts的问题

简便解决方案(无需自定义构建器)

方案1:跳过主机密钥检查

直接在gcloud compute scp命令中添加SSH参数,禁用主机密钥验证并忽略known_hosts文件,从根源上避免写入需求:

gcloud compute scp --recurse user@vmname:/path/to/images ./destination \
  --zone us-central1-a \
  --ssh-key-file=./google_compute_engine \
  --project "projectname" \
  --ssh-flag="-o StrictHostKeyChecking=no" \
  --ssh-flag="-o UserKnownHostsFile=/dev/null"

该方法适合构建环境这类临时执行场景,无需处理主机密钥的持久化问题。

方案2:指定可写入的known_hosts文件

利用构建工作区的可写入权限,创建自定义的known_hosts文件并指定使用:

  1. 在Shell脚本开头添加创建文件的命令:
touch ./build_known_hosts
  1. 修改gcloud compute scp命令,通过SSH参数指定使用该文件:
gcloud compute scp --recurse user@vmname:/path/to/images ./destination \
  --zone us-central1-a \
  --ssh-key-file=./google_compute_engine \
  --project "projectname" \
  --ssh-flag="-o UserKnownHostsFile=./build_known_hosts"

关键说明

gcloud compute scp支持通过--ssh-flag参数传递任意SSH选项给底层客户端,你之前尝试的-o选项本身有效,只是需要通过--ssh-flag来传递,而非直接追加到命令中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 05:37:08