为Jenkins添加SSH全局凭证

 更新时间:2022年3月23日 14:37  点击:812 作者:.NET开发菜鸟

一、什么是凭证

1、凭据简介

有许多第三方网站和应用程序可以与Jenkins进行交互,例如代码仓库GitHub等。

此类应用程序的系统管理员可以在应用程序中配置凭证以专供Jenkins使用。通常通过将访问控制应用于这些凭证来完成这项工作,以“锁定Jenkins可用的应用程序功能区域”。一旦Jenkins管理员在Jenkins中添加/配置这些凭证,Jenkins项目就可以使用凭证与这些第三方应用程序进行交互。

Jenkins中保存的凭证可以用于:

  • 适用于Jenkins的任何地方(即全局证书)。
  • 特定的Jenkins项目。
  • 特定的Jenkins用户。

2、凭据分类

Jenkins可以保存下面几种凭证:

  • Secret text:例如 API Token(例如GitHub的个人access token)。
  • Username with password:指的是登录GitHub的用户名和密码,可以作为单独的组件处理,也可以作为username:password格式的冒号分割字符串来处理。
  • Secret file:实际上是文件中的秘密内容。
  • SSH Username with private key:即使用私钥的SSH 用户名。这是一个SSH 秘钥对。公钥配置在GitHub上面,这里添加私钥。
  • Certificate:即证书。一个PKCS#12证书文件和可选的密码。
  • Docker Host Certificate Authentication:即Docker主机证书身份验证凭证。

这些凭证的分类可以在全局凭据里面看到:

3、凭据安全

为了确保安全,Jenkins中配置的凭据在Jenkins主实例中加密存储(通过Jenkins实例的ID来加密),并且只能通过它们的凭据ID在Pipeline项目中处理。

这样就最大限度地减少了向Jenkins用户暴露实际证书本身的可能性,并且限制了将功能证书从一个Jenkins实例复制到另一个Jenkins实例的能力。

二、添加凭据

我们这里以添加SSH Username with private key为例,讲解如何添加一个Jenkins的凭据。

在上面说过,SSH凭据需要一对私钥,所以我们首先需要生成SSH Key。

使用下面的命令可以生成SSH Key:

$ ssh-keygen -t rsa -C "your_email@youremail.com"

如下图所示:

所有选项都是默认,一直回车即可生成。生成之后在.ssh文件夹下就会生成文件,如下图所示:

一共会生成两个文件:

  • id_rsa。这个是私钥文件。
  • id_rsa.pub。这个是公钥文件,需要配置到GitHub上面。

登录GitHub,然后在账户下面选择“Settings”:

然后选择“SSH and GPG keys”:

然后点击“New SSH key”,把生成的id_rsa.pub文件里面的内容拷贝进来即可:

这样就添加完成了SSH key。

Jenkins在拉取git项目代码的时候,如果没有配置“证书凭证Credentials”或者配置的不对,就会出现如下图所示的报错信息:

这时候就需要添加证书凭证Credentials,有两种方式添加证书凭证。

1、创建的时候添加

点击Credentials后面的"Add",选择“Jenkins”,如下图所示:

然后选择“SSH Username with private key”,如下图所示:

选择Private Key,如下图所示:

把上面生成的私钥复制到这里,给Username起一个名称即可。

最后点击“添加”按钮即可完成添加SSH 凭证。

注意:这里在拷贝私钥的时候,一定要把生成的私钥文件里面的所有内容都拷贝进来。

在选择凭证的时候选择刚才添加的凭证,这时就不会在报错了:

2、在凭证里面添加

我们也可以在凭据里面添加

同样还是选择“SSH Username with private key”,如下图所示:

然后下面的步骤和刚才的就一样了,输入生成的私钥即可。这样就配置好了SSH凭据。

到此这篇关于为Jenkins添加SSH全局凭证的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持猪先飞。

原文出处:https://www.cnblogs.com/dotnet261010/p/12393917.html

[!--infotagslink--]

相关文章

  • 教你如何用Jenkins自动化部署项目(从零到搭建完成)

    这篇文章主要介绍了教你如何用Jenkins自动化部署项目(从零到搭建完成),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-08
  • vue+axios全局添加请求头和参数操作

    这篇文章主要介绍了vue+axios全局添加请求头和参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-24
  • Jenkins+tomcat自动发布的热部署/重启及遇到的问题解决办法(推荐)

    这篇文章主要介绍了Jenkins+tomcat自动发布的热部署/重启及遇到的问题解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-10
  • vue设置全局访问接口API地址操作

    这篇文章主要介绍了vue设置全局访问接口API地址操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-14
  • 解决Jenkins集成SonarQube遇到的报错问题

    本文给大家分享Jenkins集成SonarQube遇到的报错问题及解决方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-07-15
  • mac使用Shell(终端)SSH连接远程服务器的方法

    这篇文章主要介绍了mac使用Shell(终端)SSH连接远程服务器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-11
  • vscode通过Remote SSH远程连接及离线配置的方法

    这篇文章主要介绍了vscode通过Remote SSH远程连接及离线配置的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-16
  • java代码获取jenkins数据,构建历史等信息方式

    这篇文章主要介绍了java代码获取jenkins数据,构建历史等信息方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-05-12
  • 配置vue全局方法的两种方式实例

    vue项目中有一些方法需要在多个页面调用,但为了避免在每个页面都import进来,可以把方法加到原型上去,这样在每个组件中都能使用了,下面这篇文章主要给大家介绍了关于配置vue全局方法的两种方式,需要的朋友可以参考下...2021-09-13
  • jenkins自动构建发布vue项目的方法步骤

    这篇文章主要介绍了jenkins自动构建发布vue项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-04
  • Python-jenkins 获取job构建信息方式

    这篇文章主要介绍了Python-jenkins 获取job构建信息方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-05-12
  • JS中正则表达式全局匹配模式 /g用法详解

    本文章通过实例代码给大家详细介绍js中正则表达式的全局匹配模式 g的用法,需要的朋友参考下...2017-04-03
  • 解决阿里云ssh远程连接短时间就会断掉的问题

    这篇文章主要介绍了阿里云ssh远程连接短时间就会断掉的解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • Postman环境变量全局变量使用方法详解

    这篇文章主要介绍了Postman环境变量全局变量使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-13
  • python全局变量引用与修改过程解析

    这篇文章主要介绍了python全局变量引用与修改过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-04-30
  • nodejs npm install全局安装和本地安装的区别

    npm的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如:复制代码 代码如下:npm install grunt # 本地安装npm install -g grunt-cli # 全局安装 下面分别解释。 1. npm insta...2014-06-07
  • Mysql全局ID生成方法

    本文给大家介绍mysql全局id生成方法,涉及到mysql全局id相关知识,感兴趣的朋友一起学习吧...2015-12-14
  • 在Winform和WPF中注册全局快捷键实现思路及代码

    如果注册快捷键,RegisterHotKey中的fsModifiers参数为0,即None选项,一些安全软件会警报,可能因为这样就可以全局监听键盘而造成安全问题,感兴趣的你可以参考下本文...2020-06-25
  • 通过SSH连接本地linux虚拟机的过程记录

    这篇文章主要介绍了通过SSH连接本地linux虚拟机的过程记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-06
  • Docker使用Git实现Jenkins发布、测试项目的详细流程

    这篇文章主要介绍了Docker使用Git实现Jenkins发布、测试项目的详细流程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-18