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

相关推荐
暮色驶过苍茫17 小时前
VSCode 配置 SSH 远程连接
ide·vscode·ssh
_Aaron___18 小时前
List.subList() 返回值为什么不能强转成 ArrayList
数据结构·windows·list
magic3341656319 小时前
Springboot整合MinIO文件服务(windows版本)
windows·spring boot·后端·minio·文件对象存储
半梦半醒*1 天前
搭建Jenkins
linux·运维·centos·tomcat·jenkins·运维开发
babytiger1 天前
windows中用wsl使用cuda
windows·wsl·cuda
Mr.45671 天前
Windows 11 右键菜单恢复 Windows 10 经典样式:3 种实用方法详解
windows
一勺-_-1 天前
安装Windows双系统的步骤
windows
sukalot1 天前
windows显示驱动开发-多监视器管理器(三)
windows·驱动开发
半梦半醒*1 天前
gitlab部署
linux·运维·centos·ssh·gitlab·jenkins
Java技术实践1 天前
JPA 用 List 入参在 @Query中报错 unexpected AST node: {vector}
数据结构·windows·list