windows ssh launch Jenkins

一、 windows server2012 ssh launch jenkins

经过一系列测试验证发现,windows server2012始终无法launch到jenkins master。配置ssh之后

bash 复制代码
[08/21/24 10:08:03] [SSH] Opening SSH connection to 172.xx.xx.xx:18822.
[08/21/24 10:08:03] [SSH] WARNING: SSH Host Keys are not being verified. Man-in-the-middle attacks may be possible against this connection.
[08/21/24 10:08:03] [SSH] Authentication successful.
[08/21/24 10:08:03] [SSH] The remote user's environment is:

##一直无法输出用户环境信息

经jenkins官方社区提问:

https://community.jenkins.io/t/jenkins-ssh-launch-windows-server2012-agent-ssh-the-remote-users-environment-is-error-null/18103/2

Jenkins官方人员回复如下:

Per the Microsoft announcement, Windows Server 2012 and Windows Server 2012 R2 stopped receiving security updates in November 2023. The Jenkins support policy for Windows classifies that as "Level 4 - unsupported".

The OpenSSH server for Windows lists Windows Server 2022, Windows Server 2019, Windows 11, and Windows 10 as the versions that support the Microsoft OpenSSH server.

I think that you're more likely to be successful using an inbound agent from Windows Server 2012 to the Jenkins controller rather than trying to manage the agents with SSH.

(根据 Microsoft 公告,Windows Server 2012 和 Windows Server 2012 R2 于 2023 年 11 月停止接收安全更新。Windows 的 Jenkins 支持策略将其归类为"4 级 - 不支持"。

适用于 Windows 的 OpenSSH 服务器列出了 Windows Server 2022、Windows Server 2019、Windows 11 和 Windows 10 作为支持 Microsoft OpenSSH 服务器的版本。

我认为您更有可能成功使用从 Windows Server 2012 到 Jenkins 控制器的入站代理,而不是尝试使用 SSH 管理代理。)

可以尝试使用他推介的方案,但是由于jenkins master已经在线使用,加上未提供这个入站代理方案,所以建议业务重装系统升级到windows server2019

二、 windows server2019 ssh launch jenkins

1.安装openssh

步骤一

查看系统版本,下载openssh安装包

查看系统版本

桌面右键点击此电脑:

下载 OpenSSH for Windows:

从 官方 GitHub 仓库 下载最新的 OpenSSH Zip 包。

选择适用于你的系统架构(如 OpenSSH-Win64.zip 或 OpenSSH-Win32.zip),然后下载到本地。

步骤二

解压到指定目录:

将下载好的 Zip 包解压到你希望安装 OpenSSH 的目录。例如,可以解压到 C:\Program Files\OpenSSH。

步骤三

配置环境变量

添加openssh到系统路径:

打开"控制面板",导航到"系统和安全" > "系统" > "高级系统设置"。

点击"环境变量",在"系统变量"部分找到 Path,并点击"编辑"。

点击"新建",然后添加 OpenSSH 的解压目录路径,例如 C:\Program Files\OpenSSH。

步骤四

1.已管理员身份打开powershell

2.安装 OpenSSH 服务

a.进入 OpenSSH 解压目录。

bash 复制代码
cd "C:\Program Files\OpenSSH"

b,执行安装脚本:

bash 复制代码
.\install-sshd.ps1

步骤五

启动sshd服务

bash 复制代码
Start-Service sshd   ##启动服务
Set-Service -Name sshd -StartupType 'Automatic'   ##设置开机自启

步骤六

测试ssh连通性

三、 jenkins master 连接

1.配置节点

a、进入节点管理界面

http://172.17.123.89:8089/jenkins/computer/ --》新建节点

b、配置从节点

图片: https://odocs.myoas.com/uploader/f/zIdZDkskUWy9Nq5L.png?

C、添加证书认证

此处使用密码认证,添加Administrator用户及密码,然后选择设置的这个认证方式;

d、高级配置

配置端口、java路径等,同时设置:Prefix Start Agent Command

e、保存,启动代理

从截图可以看出机器是没有连接成功的;同时得到两个信息:

1、连接默认使用java

bash 复制代码
 D:\jenkins/jdk/bin/java

如果不存在,解决方案如下:

复制安装包到D:\jenkins目录下

高级配置中指定java路径,如果路径中存在空格,路径需要加引号

2、Error: Unable to access jarfile remoting.jar提示没有remoting.jar文件

解决方案:

查看D:\jenkins目录下是否有remoting.jar

如果不存在,下载jar文件

bash 复制代码
cd D:\jenkins
wget http://jenkins_server/jnlpJars/remoting.jar

如果remoting.jar存在还是有报错,需要修改:

Prefix Start Agent Command

bash 复制代码
cd /d D:\ && cd  \jenkins &&  java  -jar remoting.jar -workDir D:\jenkins -jar-cache D:\jenkins/remoting/jarCache

上线成功:

原因分析:

在 Windows 上的 CMD.exe 中,CD 会更改驱动器的路径,但不会更改驱动器。

因此cd D:\jenkins您仍位于 C:\xx。默认配置假定远程根目录位于C:驱动器中,因此如果远程根目录位于另一个驱动器中,代理命令启动将失败。可以使用 更改远程根目录驱动器Prefix Start Agent Command,设置Prefix Start Agent Command时需切换到进入远程根目录之前的cd /d D:\ && cd \jenkins

相关推荐
某柚啊41 分钟前
Windows开启IIS后依然出现http error 503.the service is unavailable
windows·http
码农君莫笑1 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
蜜獾云4 小时前
linux firewalld 命令详解
linux·运维·服务器·网络·windows·网络安全·firewalld
只会copy的搬运工4 小时前
Jenkins 持续集成部署——Jenkins实战与运维(1)
运维·ci/cd·jenkins
唐宋元明清21884 小时前
Windows 记录开机后应用启动慢的问题
windows·系统异常
测试杂货铺6 小时前
如何用postman做接口自动化测试及完美的可视化报告?
自动化测试·软件测试·测试工具·职场和发展·jenkins·压力测试·postman
越甲八千6 小时前
重温设计模式--中介者模式
windows·设计模式·中介者模式
科马8 小时前
【Jenkins】持久化
java·运维·jenkins
网络安全(华哥)8 小时前
X-Forwarded-For注入漏洞
windows·安全·web安全
styshoo9 小时前
wsl安装ubuntu 18.04
运维·windows·ubuntu