Jenkins配置SSH凭据

在jenkins中,绕不开的便是操作远程的SSH服务器,如向远程服务器传送文件、在远程服务器上执行脚本或者命令等,而这一切的前提,则需要配置访问远程服务器的凭据,常用的方式包括远程服务器的账号和密码以及密匙对等,本文将从SSH插件的安装到认证凭据的配置进行介绍。

由于基于账号密码的访问较为简单,便不再进行特殊介绍,本文主要介绍基于密匙对的方式。

SSH插件

如果需要操作远程的服务器,则首先需要安装SSH插件,其中插件包括SSH以及Public Over SSH,如下图所示:

其中SSH 插件 主要用于简单地在远程服务器上执行命令或脚本,Publish Over SSH 插件 主要用于文件传输和远程命令执行,适合持续部署等需要传输文件的场景,本文基于SSH插件进行讲解,安装插件SSH

安装后,重启jenkins后,便可使用插件了。

SSH配置

以上路径,可以在SSH remote hosts下添加SSH服务器,点击"新增"配置界面如下

我们需要有一个可以远程的服务器,而我们本节将重点讲解凭据的配置。我们先暂停到此处,先添加一个服务器的凭据,添加后,再继续

SSH凭据

配置凭据的页面如下

选择【全局】,进入如下页面

在此页面,添加凭据

如上图,是添加凭据的默认页面,默认是基于账号密码的方式,也是最简单的方式,可以直接输入服务器的账号和密码既可。我们此处使用SSH Username with private key的方式,该方式需要的内容如下:

如上如,我们需要获取jenkins服务器的private key以及在生成private key时使用的Passphrase。

生成密匙对

进入到jenkins的docker服务内,执行如下命令

复制代码
docker exec -it jenkins /bin/bash

执行如下命令,产生密匙对

复制代码
ssh-keygen -t rsa

如上所示,passphrase便是jenkins凭据中需要输入的内容,我用的是test。

密匙对生成后的存放位置为/root/.ssh/id_rsa,如下图所示:

我们需要id_rsa的内容,使用命令 cat id_rsa获取密匙

将该内容复制到之前的密匙框中,如下图所示

如上图所示,配置了jenkins所在系统的私匙,再后续继续配置SSH时,如果我们需要远程访问服务器192.168.3.11,则只需要将jenkins系统上产生的公匙复制到对应的服务器上既可!

新增后,凭据如下:

发送公匙

我们需要将刚刚产生的公匙发送到需要远程连接的服务器上,步骤如下:

复制代码
ssh-copy-id user@remote_host

其中,user是远程服务器的用户,remote_host为ip地址,执行过程如下:

以上过程,需要输入下远程服务器的密码,输入后,再进行连接到远程服务器,应该不会再需要输入密码了,当然如果在设置key时,输入了passphrase的话,则需要输入passphrase的值。

新增SSH

现在,再看这张图,则可以很容易的进行输入了,我们按照实际情况进行输入就可以了!

配置完成后,点击"check connection",可以测试SSH服务是否连接成功。如上图,已经成功了!

相关推荐
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏3 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
-梅3 天前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren3 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
布裘3 天前
【银河麒麟】V4桌面图标消失,右击鼠标没反应排查
运维·银河麒麟·桌面环境
懂软件的胡子个哥3 天前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发
云贝贝贝3 天前
腾讯云 TDSQL(MySQL 版)性能优化与慢查询排障实战 6 招
运维·腾讯云
Lsetea3 天前
证书没到期却报certificate has expired:OpenSSL定位中间证书与系统时间
运维·https·ssl证书·openssl·证书链