GitHub更新RSA SSH主机密钥后CircleCI构建失败求助
解决CircleCI因GitHub RSA SSH主机密钥更新导致的构建失败问题
问题原因
GitHub在2023年3月24日更新了RSA SSH主机密钥,而CircleCI构建环境的/home/circleci/.ssh/known_hosts文件中仍存储着旧的GitHub密钥,触发SSH主机密钥验证失败,导致拉取代码或依赖时报错。
解决方案
方法1:修改CircleCI配置文件,前置更新主机密钥
在你的.circleci/config.yml中,为构建任务添加前置步骤,移除旧密钥并写入新的GitHub RSA主机密钥:
jobs: build: docker: - image: your-build-image steps: - run: name: Update GitHub SSH host key command: | # 移除旧的GitHub主机密钥 ssh-keygen -f "/home/circleci/.ssh/known_hosts" -R "github.com" # 添加新的GitHub RSA主机密钥 echo 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=' >> /home/circleci/.ssh/known_hosts # 后续构建步骤示例 - checkout - run: npm install # 替换为你的依赖安装命令
方法2:通过CircleCI项目设置更新known_hosts
- 登录CircleCI控制台,进入目标项目的设置页面
- 找到SSH Keys选项,在Known Hosts区域点击Add Host
- 主机名输入
github.com,将上述新的RSA密钥内容粘贴到密钥字段,保存配置
验证
完成上述操作后,重新触发CircleCI构建,SSH主机密钥验证将正常通过,构建任务可继续执行。
内容的提问来源于stack exchange,提问作者spyrox
相关产品推荐
相关产品推荐

