-
在 Jenkins 服务器上执行以下命令
生成 SSH 密钥对
ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -N ""
查看公钥内容
cat ~/.ssh/id_rsa.pub
-
将显示的公钥内容复制,然后在目标服务器上执行
在目标服务器上执行
mkdir -p /root/.ssh
chmod 700 /root/.ssh
echo "这里粘贴Jenkins服务器上生成的公钥" >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys -
在目标服务器上检查 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
-
配置完成后,在 Jenkins 服务器上测试连接
在Jenkins服务器上执行
ssh -v root@10.53.3.69
-
如果你远程属性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' } } } } }}
Jenkins服务器配置密钥对
TPBoreas2025-05-21 16:28
相关推荐
无足鸟ICT8 小时前
【RHCA+】vmstat命令(监控系统资源)垆边人似月.9 小时前
RDMA 文件传输踩坑(五):READY 发送成功后,为什么出现 Work Request Flushed Error?闪亮的路灯9 小时前
Linux 安装mqtt服务mosquittoHideF9 小时前
nmcliqetfw10 小时前
UOS DHCP Relay:跨网段分配与 IP、DNS、网关验证明航咨询-陈老师10 小时前
ITSS运行维护服务能力成熟度认证技术纵深:标准模型、等级路径、2026审核趋势与CS/CMMI对比szxinmai主板定制专家11 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比缓慢更新11 小时前
AI 辅助生成单测:从接口定义到用例的流水线叼烟扛炮12 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器叼烟扛炮12 小时前
Linux 学习笔记(四十四):HTTP 协议解析与极简 Web 服务器实战