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

相关推荐
chevysky.cn2 小时前
Elasticsearch部署和集成
大数据·elasticsearch·jenkins
ljh5746491197 小时前
Airtest 的 Poco 框架中,offspring()
windows
ldj202013 小时前
Jenkins 流水线配置
运维·jenkins
斜月三16 小时前
windows部署多实例filebeat监控相同路径下文件
windows·filebeat
尽兴-20 小时前
如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
linux·数据库·windows·sql·macos
muyun28001 天前
安全访问云端内部应用:用frp的stcp功能解决SSH转发的痛点
运维·安全·ssh·frp
耀耀_很无聊1 天前
[特殊字符] 05_Jenkins 部署前端项目实现自动化部署
前端·自动化·jenkins
重生之后端学习1 天前
day08-Elasticsearch
后端·elasticsearch·spring cloud·中间件·全文检索·jenkins
chilavert3181 天前
技术演进中的开发沉思-30 MFC系列:五大机制
c++·windows
qinyia1 天前
Wisdom SSH:探索AI助手在复杂运维任务中的卓越表现
运维·人工智能·ssh