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

相关推荐
m0_748244835 分钟前
(CICD)自动化构建打包、部署(Jenkins + maven+ gitlab+tomcat)
自动化·jenkins·maven
web1508541593537 分钟前
超级详细Spring AI运用Ollama大模型
人工智能·windows·spring
m0_748256341 小时前
重学SpringBoot3-整合 Elasticsearch 8.x (一)客户端方式
大数据·elasticsearch·jenkins
久绊A5 小时前
Python 基本语法的详细解释
开发语言·windows·python
chenbin52013 小时前
Jenkins 自动构建Job
运维·jenkins
java 凯13 小时前
Jenkins插件管理切换国内源地址
运维·jenkins
菜鸟单飞15 小时前
介绍一款非常实用的PDF阅读软件!
windows·pdf·电脑
陆鳐LuLu16 小时前
日志管理利器:基于 ELK 的日志收集、存储与可视化实战
运维·elk·jenkins
[奋斗不止]16 小时前
Jenkins 配置 Credentials 凭证
jenkins·jenkins 配置凭证
流星白龙20 小时前
【Linux】35.封装 UdpSocket(2)
linux·运维·windows