当前位置: 首页 > java >正文

jenkins pipeline ssh协议报错处理

一、jenkins版本

jenkins:2.492.3

openssh:OpenSSH_9.8p1, OpenSSL 3.3.1

# grep jenkins /etc/passwd
jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/false

二、报错

三、处理

步骤1:手动添加目标主机密钥到Jenkins用户# 切换到Jenkins用户(需root权限)
sudo su - jenkins -s /bin/bash # 手动触发SSH连接以记录密钥 
ssh -o StrictHostKeyChecking=no 目标主机IP 
# 输入yes确认密钥(仅首次需要)
exit ## 原理:强制Jenkins用户完成首次SSH交互,生成 known_hosts 文件步骤2:配置SSH密钥对权限# 检查私钥权限 
sudo chmod 600 /var/lib/jenkins/.ssh/id_rsa # 确保.ssh目录权限正确 
sudo chmod 700 /var/lib/jenkins/.ssh 步骤3:验证并配置目标主机SSH服务
# 在目标主机检查SSH配置 
sudo vim /etc/ssh/sshd_config 
# 确保以下参数启用 
PasswordAuthentication yes 
PubkeyAuthentication yes # 重启SSH服务 
sudo systemctl restart sshd 步骤4:配置Jenkins免密sudo权限(可选)# 编辑sudoers文件 
sudo visudo 
# 添加以下内容(允许无需密码执行命令)
jenkins ALL=(ALL) NOPASSWD: ALL 步骤5:Pipeline脚本调试
pipeline {agent any stages {stage('SCP Test') {steps {script {// 显示当前用户和密钥路径 sh 'whoami && ls -l /var/lib/jenkins/.ssh'// 测试SCP连接 sh 'scp -v -i /var/lib/jenkins/.ssh/id_rsa file.txt  user@host:/path'}}}}
}

四、高级排查技巧

五、补充说明

容器化环境:若Jenkins运行在Docker中,需将宿主机SSH目录挂载到容器:

docker run -v /var/lib/jenkins/.ssh:/home/jenkins/.ssh ...

密钥类型兼容性:部分旧系统需使用RSA密钥(非Ed25519),生成时指定:

ssh-keygen -t rsa -b 4096 

http://www.xdnf.cn/news/1179.html

相关文章:

  • 多模态模型实现原理详细介绍
  • Python 设计模式:模板模式
  • FastText 模型文本分类实验:从零到一的实战探索
  • 4.22tx视频后台开发一面
  • JAVA:Web安全防御
  • 考研系列-计算机网络-第五章、传输层
  • 什么是CRM系统,它的作用是什么?CRM全面指南
  • 信奥赛CSP-J复赛集训(DP专题)(19):P3399 丝绸之路
  • 基于51单片机的温度控制系统proteus仿真
  • 客户端 AI 与服务器端 AI 的深度比较及实践建议?
  • 精益数据分析(15/126):解锁数据分析关键方法,驱动业务增长
  • 【数字图像处理】立体视觉信息提取
  • 鸿蒙Flutter仓库停止更新?
  • 深度解析MySQL INSERT ... ON DUPLICATE KEY UPDATE语句
  • 深度学习是什么?该怎么入门学习?
  • 设置开机自启动
  • 深度学习与总结JVM专辑(七):垃圾回收器—CMS(图文+代码)
  • Anaconda 与 Miniconda 的差异详解
  • Windows 下 Git 入门指南:从安装、配置 SSH 到加速 GitHub 下载
  • 文档管理 Document Management
  • YOLO改进实战:添加SOCA注意力机制提升目标检测性能
  • 基于 Electron、Vue3 和 TypeScript 的辅助创作工具全链路开发方案:涵盖画布系统到数据持久化的完整实现
  • 【MCP Node.js SDK 全栈进阶指南】初级篇(4):MCP工具开发基础
  • 【MCP Node.js SDK 全栈进阶指南】初级篇(6):MCP传输层配置与使用
  • Python跨平台桌面应用程序开发
  • 代码随想录第三十七天|华为秋季笔试真题230823
  • CAN节点错误管理机制工作原理解析
  • go语言中defer使用指南
  • flutter_slidable 插件使用
  • w~视觉~3D~合集2