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

Cloud Build执行gcloud compute ssh时无法添加主机到已知主机列表问题

问题原因及解决办法

核心问题

你在操作里犯了一个关键错误:把google_compute_known_hosts当成目录创建了,但它本质是一个需要写入主机指纹的文件。gcloud ssh尝试往这个路径写入内容时,发现是目录而非文件,自然会抛出警告。

你的操作问题拆解

  • mkdir -p /builder/home/.ssh/google_compute_known_hosts 创建的是目录,不是文件,这直接导致gcloud无法写入主机信息
  • 后续给这个目录加权限的操作完全无效,因为目标对象本身就错了

正确操作步骤

  1. 先确保.ssh目录存在并设置安全权限(SSH标准要求):
    mkdir -p /builder/home/.ssh && chmod 700 /builder/home/.ssh
    
  2. 创建空的google_compute_known_hosts文件并设置可写权限:
    touch /builder/home/.ssh/google_compute_known_hosts && chmod 664 /builder/home/.ssh/google_compute_known_hosts
    
  3. 执行ssh命令:
    gcloud compute ssh instance_name --ssh-key-file=~/root/.ssh/id_rsa --zone=zone --command='/bin/sh /opt/pull.sh'
    

额外检查点

  • 确认Cloud Build运行的用户对.ssh目录和文件有读写权限,你设置的g+w要确保用户属于对应的组
  • 检查--ssh-key-file路径是否正确:Cloud Build环境中~/root/.ssh/id_rsa是否存在?如果是builder用户的密钥,路径可能是/builder/home/.ssh/id_rsa,需核实

内容的提问来源于stack exchange,提问作者Béranger

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 16:42:12