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

Jenkins服务器配置密钥对

1. 在 Jenkins 服务器上执行以下命令

# 生成 SSH 密钥对
ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -N ""# 查看公钥内容
cat ~/.ssh/id_rsa.pub

2. 将显示的公钥内容复制,然后在目标服务器上执行

# 在目标服务器上执行
mkdir -p /root/.ssh
chmod 700 /root/.ssh
echo "这里粘贴Jenkins服务器上生成的公钥" >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

3. 在目标服务器上检查 SSH 配置

# 在目标服务器上执行
cat /etc/ssh/sshd_config | grep -E "PubkeyAuthentication|PasswordAuthentication|PermitRootLogin"# 如果需要修改配置
vi /etc/ssh/sshd_config# 确保以下设置正确:
PubkeyAuthentication yes
PasswordAuthentication yes
PermitRootLogin yes# 重启SSH服务
systemctl restart sshd

4. 配置完成后,在 Jenkins 服务器上测试连接

# 在Jenkins服务器上执行
ssh -v root@10.53.3.69

5. 如果你远程属性PasswordAuthentication不小心设置成false,以下是解决方案

pipeline {agent anyenvironment {TARGET_SERVER = 'ip'JENKINS_HOME = '/var/lib/jenkins'}stages {stage('Modify SSH Config') {steps {script {try {// 修改 SSH 配置,启用密码认证sh '''echo "=== 修改 SSH 配置 ==="ssh -F ${JENKINS_HOME}/.ssh/config ${TARGET_SERVER} "sudo sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config"echo "=== 重启 SSH 服务 ==="ssh -F ${JENKINS_HOME}/.ssh/config ${TARGET_SERVER} "sudo systemctl restart sshd"echo "=== 验证配置 ==="ssh -F ${JENKINS_HOME}/.ssh/config ${TARGET_SERVER} "cat /etc/ssh/sshd_config | grep PasswordAuthentication"'''} catch (Exception e) {echo "Error: ${e.message}"currentBuild.result = 'FAILURE'}}}}}
}

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

相关文章:

  • 三、【数据建模篇】:用 Django Models 构建测试平台核心数据
  • windows维护工具vip版
  • Django基础(二)Django 项目基础操作
  • NLP学习路线图(二): 概率论与统计学(贝叶斯定理、概率分布等)
  • GO语言学习(六)
  • WSL虚拟机整体迁移教程(如何将WSL从C盘迁移到其他盘)
  • 【计算机方向海外优质会议推荐】第二届图像处理、机器学习与模式识别国际学术会议(IPMLP 2025)
  • 下载Ubuntu 64 位
  • 图像处理基础知识
  • YOLOv8 的双 Backbone 架构:解锁目标检测新性能
  • Java EE初阶——定时器和线程池
  • 华为云Flexus+DeepSeek征文 | 基于ModelArts Studio 与 Cline 快速构建AI编程助手
  • 游戏引擎学习第297天:将实体分离到Z层中
  • docker环境和dockerfile制作
  • 一洽小程序接入说明
  • 多模态大语言模型arxiv论文略读(八十五)
  • 20250520期:科研小白如何投稿一篇SCI?
  • 一文讲清python、anaconda的安装以及pycharm创建工程
  • [SpringBoot]Spring MVC(6.0)----图书管理系统(初)
  • mapbox进阶,纯前端geojson转shape,并将shape相关文件压缩成zip压缩包并下载
  • Mybatis面向接口编程
  • 塔能智能照明方案——贵州某地区市政照明改造实践
  • Android 中拖拽从一个组件到另外一个组件的写法(跨容器拖拽)
  • mysql不能聚合之数据清洗逗号
  • Docker中部署Alertmanager
  • 碰一碰发视频源码:技术架构与全链路解析
  • Node.js路径处理指南:如何安全获取当前脚本目录路径
  • Redis 命令大全
  • CentOS 7上BIND9配置DNS服务器指南
  • 扫盲笔记之NPM