运维技术教程之Jenkins上的known_hosts文件

在Jenkins中,known_hosts文件用于存储已验证的远程节点主机密钥,避免每次连接时重复验证。以下是基于不同场景的解决方案:


1. 创建并配置 known_hosts 文件

若Jenkins提示 No Known Hosts file 或找不到文件,需手动创建并配置:

  • 创建目录及文件

    bash 复制代码
    sudo mkdir -p /var/lib/jenkins/.ssh/  # 根据实际JENKINS_HOME路径调整
    sudo touch /var/lib/jenkins/.ssh/known_hosts
    sudo chown jenkins:jenkins /var/lib/jenkins/.ssh/known_hosts
    sudo chmod 600 /var/lib/jenkins/.ssh/known_hosts
  • 添加目标节点的公钥

    1. 以Jenkins用户身份执行:

      bash 复制代码
      ssh <节点用户名>@<节点IP>  # 首次连接会提示接受主机密钥
    2. 将本地用户~/.ssh/known_hosts中对应的节点公钥行复制到Jenkins的known_hosts文件中^3^^5^


2. 调整主机密钥验证策略

若不想手动管理known_hosts,可修改Jenkins的主机密钥验证策略

  • 进入节点配置页面
    • 启动方式 选择 Launch agent agents via SSH
    • Host Key Verification Strategy 改为 Manually trusted key verification strategy^3^^4^
    • 保存后,Jenkins会跳过自动校验,但需确保目标节点已正确配置SSH免密登录。

3. 配置SSH免密登录

确保Jenkins用户与目标节点之间的SSH免密登录已配置:

  1. 生成SSH密钥对 (若未生成):

    bash 复制代码
    sudo -u jenkins ssh-keygen -t rsa -b 4096  # 以Jenkins用户生成
  2. 部署公钥到目标节点

    bash 复制代码
    sudo -u jenkins ssh <节点用户名>@<节点IP> 'cat >> ~/.ssh/authorized_keys' < /var/lib/jenkins/.ssh/id_rsa.pub
  3. 设置权限

    bash 复制代码
    sudo -u jenkins chmod 700 /var/lib/jenkins/.ssh/authorized_keys

4. 其他注意事项

  • 路径一致性 :Jenkins的.ssh目录通常位于/var/lib/jenkins//var/jenkins_home/,需根据实际环境确认^1^^3^

  • 权限检查 :确保Jenkins用户对.ssh目录及文件有读写权限(chmod 600 known_hostschown jenkins:jenkins)。

  • 重启Jenkins :配置变更后,需重启Jenkins服务以生效:

    bash 复制代码
    sudo systemctl restart jenkins

总结

  • 优先推荐 :手动创建known_hosts并配置免密登录,确保安全性和稳定性。
  • 快速绕过 :临时将验证策略改为Manually trusted key verification,但长期需补全known_hosts以避免安全风险^3^^5^

通过以上步骤,可解决Jenkins因known_hosts缺失或校验失败导致的连接问题。

相关推荐
qq_2529413168几秒前
窗户清洁检测数据集 | 窗户清洁检测 建筑运维 二分类任务 YOLO格式 深度学习数据集9019期
运维·人工智能·深度学习·yolo·目标检测·分类·窗户清晰度
星辰徐哥6 分钟前
打破社媒营销信息差:具身交互智能打造全自动化KOL情报体系
运维·python·自动化·交互·react·数字人
醉颜凉13 分钟前
Jenkins与Git集成完全指南:从基础配置到自动触发构建
运维·git·jenkins
JuiceFS42 分钟前
如何通过 S3 和 WebDAV 协议访问 JuiceFS?
运维·人工智能·后端
云贝贝贝1 小时前
OceanBase 生产运维 7 个高频现场:从连不上到误删兜底
运维·ffmpeg·oceanbase
南讯股份Nascent1 小时前
电商全域 CRM 技术拆解:以 KEDAO-CRM 为例看 One ID 与营销自动化的落地实践
运维·自动化
杨云龙UP2 小时前
Linux 下 MySQL 常用登录方式及 Socket 排查指南
linux·运维·数据库·mysql·登录·xtrabackup·主从复制
Elastic 中国社区官方博客2 小时前
从告警到根因仅需 3 分钟:使用 Elastic Agent Builder 实现自动化根因分析
运维·数据库·人工智能·elasticsearch·自动化·可用性测试
月落汀兰2 小时前
运维实战:LVS-NAT/DR 双模式完整落地,含一键启停脚本,线上直接复用
linux·运维·lvs
feng_you_ying_li3 小时前
linux之Udpsocket实践
linux·运维·c#