网站首页 > 开源技术 正文
环境介绍:
192.168.1.18 :Jenkins、CentOS 7.5.1804、Docker 19.03.13
192.168.1.20:K8s_Node2/Gitlab、CentOS 7.5.1804、Docker 19.03.13
准备工作:
?在被远程主机192.168.1.20上准备好test.sh脚本文件。
[root@k8s-node2 ~]# cat >> cat shell/test.sh << EOF
> #!/bin/bash
> echo I am 192.168.1.20
> EOF
[root@k8s-node2 ~]# cat shell/test.sh
#!/bin/bash
echo I am 192.168.1.20
[root@k8s-node2 ~]# chmod +x shell/test.sh //添加脚本执行权限
插件安装
?在主机192.168.1.18的Jenkins中【系统管理】—【管理插件】中,过滤出“Publish over SSH插件”,然后直接安装插件,如图安装即可,或者去官网下载插件的.hpi文件通过高级选项中手动安装也可以。
Publish Over SSH插件
?安装完插件需要重启Jenkins生效。
配置免密登录
?在Jenkins主机上生成一对密钥,公钥发送给需要被远程的主机,私钥配置到Jenkins中即可。
[root@k8s-master ~]# ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:OfjoeZpsg4PijcdTjIPJ4WIXWHkOQeC6wFztgryyvWE root@k8s-master
The key's randomart image is:
+---[RSA 2048]----+
| .ooo |
|. +.. |
| .o.+. |
|=oo... . . |
|==+.+.. S |
|oB.+.o o . |
|=.E.o.. . |
|o++=oooo. |
|o++o.o*+ |
+----[SHA256]-----+
[root@k8s-master ~]# ls .ssh/
id_rsa(私钥) id_rsa.pub(公钥) known_hosts
[root@k8s-master ~]# ssh-copy-id -i .ssh/id_rsa.pub 192.168.1.20
[root@k8s-node2 ~]# cat .ssh/authorized_keys //可以看到公钥已经拷贝到被远程主机上了
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSV7n2kfuan5cfGaSgRtfxLJdxn52ZzKGtLUduq1+dZWhKpqIytCKOUgO/rpsUOD1WdsVQqJetxvML7BWHzO67LhmX07K9QQ4L9hIfBoG+ozA+qDCeKkJGg02rcxAwGvtPqvtJYDQII/Yg8KX6rRb8ccjktGTwVPusYf+F25/BifysnEwHuOe0FcwpknMhBEzJWRnS+UCVr/b+3fd1BVEso0Xz/8bfAQpAvXIYyCYJe0CP+ucz3pPioirgOmQQtQVHnaqXlKNIVncwtDlZ7LHzWV4sgkfmKQno3qkdAw0FG1bxXDp3KnOGiCNdvq0aVyNPHGWi3pu7OhPsxlEz2NZP root@k8s-master
[root@k8s-master ~]# ssh root@192.168.1.20 //测试免密登录成功
Last login: Wed Nov 17 12:59:12 2021 from k8s-master
[root@k8s-node2 ~]# 登出
Connection to 192.168.1.20 closed.
插件配置
?在Jenkins中【系统管理】—【系统配置】,划到“Publish over SSH”来配置该插件信息。
?注意:私钥指的是Jenkins主机上生成的私钥,公钥在上面已经发送给被远程主机了。
?Passphrase:SSH的密码,使用用户名/密码登录时为用户名的密码,使用私钥登录时为私钥的密码。
?Path to key:SSH私钥的文件路径,私钥文件的路径,可以是绝对路径,也可以是相对$JENKINS_HOME的相对路径。
?Key:私钥,即私钥的具体密钥内容。如果“Key”和“Path to key”都设置,则“Key”的优先级较高,私钥的密码是“Passphrase”中设置的内容。
?Disable exec:禁止在目标机上执行命令,勾选后将会忽略在Job配置中“Exec command”选项中设置的命令。Jenkins的说明文档中的“The Disable exec in the advanced settings for individual configurations will be ignored.”没有完全理解,从实际效果来看,只要“Disable exec”被勾选后,不管SSH Server中是否勾选“Disable exec”,Job中设置的命令都将补忽略。
?Name:SSH节点配置的名称,在构建中使用Publish over SSH插件时,此名称将出现在“SSH Server”中“Name”的下拉列表中,如下图:
?Hostname:通过SSH连接到的机器的主机名或IP。
?Username:SSH服务使用的用户名,使用key进行连接时为key指定的用户名。
?Remote Derictory:运程机器上真实存在的目录,并且“Username”指定的用户要有访问此目录的权限,插件将把文件传送到此目录下。
创建项目
?Name:“系统管理>系统配置”设置的SSH Sverver的名字Name。
?Source files:允许为空,复制到远程主机上的文件。
?Remove prefix:允许为空,文件复制时要过滤的目录。
?Remote directory:允许为空,文件得到到远程机上的目录,此目录是相对于“SSH Server”中的“Remote directory”的,如果不存在将会自动创建。
?Exec command:在这里填写在远程主机上执行的命令。
构建项目
如果您喜欢本文,就请动动您的发财手为本文点赞评论转发,让我们一起学习更多运维相关知识,最后请记得关注我。
猜你喜欢
- 2024-10-21 ssh端口转发教程(ssh端口转发 内网穿透)
- 2024-10-21 U-NAS系统登陆管理的几种方法(u-nas登陆账号密码)
- 2024-10-21 java程序员的基础知识篇,回顾ssh
- 2024-10-21 「JSP入门」JavaWeb项目如SSH或SSM等如何提升80%以上效率
- 2024-10-21 假如 SSH 协议基于 HTTP/3 构建,会是什么样?
- 2024-10-21 如何加强云端的SSH安全性(云端数据加密)
- 2024-10-21 简单分析实现运维利器---webssh终端libl
- 2024-10-21 基于JavaEE架构SSH框架的web项目实现
- 2024-10-21 2019最新Java Web J2EE下的两大框架SSH和SSM对比
- 2024-10-21 一文了解Java开发框架SSH的来龙去脉
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)