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

相关推荐
XMYX-04 小时前
使用 SSH 蜜罐提升安全性和记录攻击活动
linux·ssh
弗锐土豆6 小时前
Windows系统中Oracle VM VirtualBox的安装
windows·虚拟机·virtualbox
秋の花6 小时前
【JAVA基础】Java集合基础
java·开发语言·windows
零意@9 小时前
ubuntu切换不同版本的python
windows·python·ubuntu
Lovely_red_scarf10 小时前
Jenkins系列
jenkins
写bug的小屁孩10 小时前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3
程序员勋勋11 小时前
【自动化测试】如何在jenkins中搭建allure
职场和发展·jenkins·测试覆盖率
hairenjing112313 小时前
在 Android 手机上从SD 卡恢复数据的 6 个有效应用程序
android·人工智能·windows·macos·智能手机
plmm烟酒僧15 小时前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
Amelio_Ming16 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh