news 2026/5/26 12:14:37

ssh远程服务器。host key verification fail

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ssh远程服务器。host key verification fail

在用ssh操作远程服务器时,报host key verification fail

这个报错是SSH 主机密钥验证失败导致的(Host key verification failed),是 Linux 下 SSH/SCP 首次连接目标服务器时的安全验证机制触发的问题

解决步骤:

方法 1:手动验证主机密钥(临时解决)

在 Jenkins 服务器上(切换到 Jenkins 运行用户,如jenkins),手动执行一次ssh连接生产服务器,完成密钥验证:

bash

运行

# 切换到jenkins用户 su - jenkins # 连接生产服务器(替换为实际IP) ssh root@生产服务器IP

首次连接会提示:

plaintext

The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established. ECDSA key fingerprint is SHA256:xxxxxx. Are you sure you want to continue connectin

输入yes并回车,密钥会被保存到~/.ssh/known_hosts中,之后 SCP 就不会再报这个错误

方法 2:在 SCP 命令中跳过主机密钥验证(不推荐,安全性低)

如果是自动化场景无法手动交互,可以在 SCP 命令中添加-o StrictHostKeyChecking=no参数跳过验证:

bash

运行

# 示例SCP命令(添加参数) scp -o StrictHostKeyChecking=no /本地jar包路径 root@生产服务器IP:/目标路径
方法 3:提前将生产服务器密钥写入known_hosts(推荐,自动化友好)

在 Jenkins 的 Shell 构建步骤中,先执行密钥验证命令,再执行 SCP:

bash

运行

# 先验证生产服务器密钥(自动写入known_hosts) ssh-keyscan -H 生产服务器IP >> ~/.ssh/known_hosts # 再执行SCP上传 scp /本地jar包路径 root@生产服务器IP:/目标路径

关键说明:

  • 核心原因是 Jenkins 运行用户(如jenkins)的~/.ssh/known_hosts中没有生产服务器的主机密钥,导致 SSH/SCP 拒绝连接;
  • 方法 1 是最安全的方式,方法 3 适合自动化脚本,方法 2 安全性较低(不建议生产环境用)。

执行上述操作后,重新构建即可解决Host key verification failed的问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/13 17:33:12

驾驭 CPU 与编译器:Apache Doris 实现极致性能的底层逻辑

过去 10 年,数据分析基准的成绩已经提升了数十倍。这种性能的提升造就了商业世界中更大的可能 —— 从特定维度的 MOLAP 分析和周期报表,到随时随地从任意维度分析中发掘新范式的 Ad-hoc 查询,直到现在基于 Agent 派生出的复杂查询、高并发 …

作者头像 李华
网站建设 2026/5/25 3:42:05

交通仿真软件:SUMO_(7).交通信号控制

交通信号控制 信号灯配置 在SUMO中&#xff0c;交通信号控制是通过配置文件&#xff08;通常是.sumocfg文件&#xff09;中的<tlLogic>标签来实现的。每个交通信号灯&#xff08;Traffic Light&#xff0c;TL&#xff09;都有一组逻辑定义&#xff0c;这些逻辑定义包括信…

作者头像 李华