Jenkins部署至远程服务器时出现Host key verification failed错误求助
解决Jenkins部署时Host key verification failed错误
出现这个错误的核心原因是:Jenkins以系统专属用户(通常是jenkins)运行,该用户的SSH配置与你本地用户独立,即便你本地能通过SSH连接远程服务器,Jenkins用户的known_hosts文件里并没有存储远程服务器的主机密钥,导致验证失败。
解决方法:
方法一:手动给Jenkins用户添加远程主机密钥(推荐)
- 切换到Jenkins系统用户:
sudo su - jenkins - 手动发起一次SSH连接:
ssh 你的远程服务器用户名@远程服务器IP,按提示输入yes确认添加主机密钥 - 退出Jenkins用户:
exit,重新运行构建任务即可
- 切换到Jenkins系统用户:
方法二:临时跳过主机密钥验证(仅测试环境用)
在构建步骤的SSH命令中添加参数关闭严格验证:ssh -o StrictHostKeyChecking=no 你的远程服务器用户名@远程服务器IP "你的部署命令"注意:此方式会跳过主机密钥校验,存在安全风险,禁止在生产环境使用。
方法三:通过Jenkins SSH插件管理密钥
- 安装Jenkins官方SSH插件(如
Publish Over SSH或SSH Pipeline Steps) - 进入Jenkins全局配置,添加远程服务器信息,手动填入远程服务器的主机公钥,或通过插件自动获取
- 在构建任务中使用插件提供的远程执行步骤替代原生SSH命令,插件会自动处理密钥验证逻辑
- 安装Jenkins官方SSH插件(如
内容的提问来源于stack exchange,提问作者Irkham 11
相关产品推荐
相关产品推荐

