使用Atlantis执行计划时Bitbucket SSH密钥验证错误求助
解决Atlantis环境Bitbucket主机密钥冲突问题
问题根源
Atlantis运行环境的/root/.ssh/known_hosts中仍保留Bitbucket旧的RSA主机密钥,与Bitbucket更新后的密钥冲突,导致git克隆私有模块时触发主机身份验证失败,最终Terragrunt执行报错。
具体解决步骤
- 进入Atlantis的运行环境(如果是Docker部署,先进入容器:
docker exec -it <atlantis-container-id> /bin/bash) - 删除旧的Bitbucket主机密钥条目:
ssh-keygen -R bitbucket.org - 获取并添加Bitbucket最新的主机密钥到known_hosts:
ssh-keyscan bitbucket.org >> /root/.ssh/known_hosts - 测试验证:在Atlantis环境中执行克隆命令,确认能正常拉取仓库:
git clone ssh://git@bitbucket.org/xxx/iac-aws-terraform-module-vpcxxx
持久化解决方案(针对Docker部署)
如果Atlantis用Docker容器运行,避免容器重启后配置丢失:
- 将Atlantis的
/root/.ssh目录挂载为宿主机的持久化卷,在启动容器时添加挂载参数:docker run -v /path/on/host/atlantis-ssh:/root/.ssh ... <atlantis-image> - 或者在Atlantis的启动脚本中加入密钥清理和更新的命令,确保每次容器启动时自动同步最新的Bitbucket主机密钥。
内容的提问来源于stack exchange,提问作者Amarichey
相关产品推荐
相关产品推荐

