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

Chef Cookbook问题:Git克隆主机密钥验证失败求助

解决Chef Cookbook中Git Clone的Host Key Verification Failed错误

这个问题我之前处理过不少,本质是节点上的Git首次连接远程仓库(比如你的Stash服务器)时,没有将服务器的主机密钥添加到系统的known_hosts文件中,导致SSH连接被拒绝,最终git clone命令返回退出码128。下面给你几个可行的解决方案,按推荐优先级排序:

方案1:使用Chef内置的Git资源(推荐)

Chef的git资源是专门为版本控制仓库同步设计的,比手动用execute更可靠,还能直接处理SSH相关的配置。替换你现有的execute资源为以下代码:

git '/var/www' do
  repository '<REPOSITORY_URL>' # 替换为你的实际仓库地址
  action :sync
  # 如果需要指定SSH密钥,还可以添加ssh_wrapper配置,比如:
  # ssh_wrapper '/etc/chef/git_ssh_wrapper.sh'
end

如果你的Git服务器需要验证主机密钥,配合ssh_known_hosts资源提前添加信任的主机密钥:

# 先添加Git服务器的主机密钥到known_hosts
ssh_known_hosts 'stash.yourdomain.com' do # 替换为你的Git服务器主机名
  # 替换为你服务器的实际主机密钥,可以通过`ssh-keyscan stash.yourdomain.com`获取
  host_key 'AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ=='
end

# 再同步仓库
git '/var/www' do
  repository '<REPOSITORY_URL>'
  action :sync
end

方案2:手动处理known_hosts后再执行clone

如果你坚持使用execute资源,需要先确保节点信任Git服务器的主机密钥。可以用Chef的execute资源先扫描并添加密钥:

# 先将Git服务器的主机密钥添加到root用户的known_hosts
execute 'add stash host key to known_hosts' do
  command 'ssh-keyscan stash.yourdomain.com >> /root/.ssh/known_hosts' # 替换主机名
  not_if 'grep -q stash.yourdomain.com /root/.ssh/known_hosts' # 避免重复添加
end

# 再执行clone命令
execute 'clone files from stash' do
  command 'git clone <REPOSITORY_URL> /var/www'
end

方案3:临时跳过密钥验证(不推荐生产环境)

如果只是临时测试,可以在git clone命令中添加StrictHostKeyChecking=no参数跳过验证,但这个方法会暴露中间人攻击的风险,生产环境绝对不要用:

execute 'clone files from stash' do
  command 'git clone -o StrictHostKeyChecking=no <REPOSITORY_URL> /var/www'
end

补充提示

  • 你可以通过ssh-keyscan <你的Git服务器主机名>命令获取服务器的主机密钥,确保添加的密钥正确。
  • 确保Chef运行的用户(通常是root)有/var/www目录的读写权限,避免后续出现权限问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:12:15