Jenkins 持续集成:Linux 系统 两台机器互相免密登录

这篇具有很好参考价值的文章主要介绍了Jenkins 持续集成:Linux 系统 两台机器互相免密登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景知识

我们把public key放在远程系统合适的位置,然后从本地开始进行ssh连接。

此时,远程的sshd会产生一个随机数并用我们产生的public key进行加密后发给本地,本地会用private key进行解密并把这个随机数发回给远程系统。

最后,远程系统的sshd会得出结论我们拥有匹配的private key允许我们登录

上述方法在 Linux 系统上大量使用,比如 Jenkins 构建持续集成时,需要远程登录另外的若干台机器将打包的结果复制,此时就需要免密登录。

下面开始介绍,两台 Linux 系统实现免密登录的步骤及条件。

如果你想学习Jenkins,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的Jenkins教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386  

Jenkins集成电子邮件,Allure以及企微通知实战_哔哩哔哩_bilibili

一、机器A 免密登录 机器B 原理

1、首先在 机器A 上生成一对秘钥(ssh-keygen)将公钥拷贝到 机器B,重命名 authorized_keys;

2、机器A 向 机器B 发送一个连接请求,信息包括用户名、ip;

3、机器B 接到请求,会从 authorized_keys 中查找,是否有相同的用户名、ip,如果有 机器B 会随机生成一个字符串;

4、然后使用公钥进行加密,再发送个 机器A;

5、机器A 接到 机器B 发来的信息后,会使用私钥进行解密,然后将解密后的字符串发送给 机器B;

6、机器B 接到 机器A 发来的信息后,会给先前生成的字符串进行比对,如果一直,则允许免密登录。

二、Centos7 默认安装了 ssh服务

三、启动 ssh 服务

# 查看 ssh 状态
systemctl status sshd
# 启动 ssh
systemctl start sshd
# 停止 ssh
systemctl stop sshd

四、serverA 生成秘钥

[root@localhost ~]# ssh-keygen

jenkins 免密登录服务器,linux,jenkins,ci/cd,软件测试,经验分享

CentOS7 默认使用RSA加密算法生成密钥对,保存在~/.ssh目录下的id_rsa(私钥)和id_rsa.pub(公钥)。也可以使用“-t DSA”参数指定为DSA算法,对应文件为id_dsa和id_dsa.pub,密钥对生成过程会提示输入私钥加密密码,可以直接回车不使用密码保护。

五、移动 id_rsa.pub 文件

1、将 机器A ~/.ssh目录中的 id_rsa.pub 这个文件拷贝到你要登录的 机器B 的~/.ssh目录中

scp ~/.ssh/id_rsa.pub 192.168.0.101:~/.ssh/

 2、然后在 机器B 运行以下命令来将公钥导入到~/.ssh/authorized_keys这个文件中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3、另外要注意请务必要将服务器上,这是linux的安全要求,如果权限不对,自动登录将不会生效

~/.ssh权限设置为700

chmod -R 777 ~/.ssh

~/.ssh/authorized_keys的权限设置为600文章来源地址https://www.toymoban.com/news/detail-610744.html

chmod -R 600 ~/.ssh/authorized_keys

六、验证免密登录

ssh 机器B的ip

到了这里,关于Jenkins 持续集成:Linux 系统 两台机器互相免密登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .NET Core部署到linux(CentOS)最全解决方案,入魔篇(使用Docker+Jenkins实现持续集成、自动化部署)

    通过前面三篇: .NET Core部署到linux(CentOS)最全解决方案,常规篇 .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx) .NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus) 通过前面三篇文章的介绍,我们已经对.net core多方案部署到linux下有了非常全面的认识

    2024年02月02日
    浏览(45)
  • CI/CD持续集成持续发布(jenkins)

            在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试; 或者前后端分离后,经常会修改接口,然后重新部署; 这些情况都会涉及到频繁的打包部署; 手动打包常规步

    2024年02月14日
    浏览(68)
  • Jenkins持续集成之修改jenkins工作目录

    一般不建议把工作目录放到默认的C盘,故可以更改到其他盘中 前置条件:先在其他盘中新建工作目录的文件;如下图 1、首先打开任务管理器,找到服务中的Jenkins进程  2、右击点击转到详细信息; 3、再右击Jenkins打开文件所在路径;找到Jenkins.xml文件并打开 4、找到如下信息

    2024年02月04日
    浏览(41)
  • Jenkins 持续集成 【CICD】

    持续集成是一种开发实践,它倡导团队成员频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、打包、部署、自动化测试)来验证,从而尽快地发现集成中的错误。让产品可以快速迭代,同时还能保持高质量。 Jenkins是基于Java开发的持续集成工具,开源免

    2024年04月12日
    浏览(38)
  • 【Jenkins】持续集成部署学习

    Gitlab用的端口是80,可能会跟其它应用冲突,并且Gitlab所需内存也很大,所以还是单独放在一个服务器上比较好。 用原来空的虚拟机服务器克隆一个,注意内存要选大一点,6G左右 (1)ip a / ip addr / ifconfig 不显示ip问题 (1)查看系统的内核版本 执行命令:uname -r 注意:x86

    2024年02月11日
    浏览(38)
  • DevOps持续集成-Jenkins(4)

    DevOps概述 软件开发最初是由两个团队共同组成:(没有采用DevOps之前) 开发团队 :从头开始设计和整体系统的构建(编写代码)。需要系统不停的迭代更新。 运维团队 :将开发团队的代码进行测试通过后再部署上线。确保系统稳定运行。 没有采用DevOps的缺点: 这看似两个

    2024年02月08日
    浏览(52)
  • DevOps持续集成-Jenkins(2)

    DevOps概述 软件开发最初是由两个团队共同组成:(没有采用DevOps之前) 开发团队 :从头开始设计和整体系统的构建(编写代码)。需要系统不停的迭代更新。 运维团队 :将开发团队的代码进行测试通过后再部署上线。确保系统稳定运行。 没有采用DevOps的缺点: 这看似两个

    2024年02月08日
    浏览(57)
  • Docker搭建Jenkins持续集成

    目录 注意 前提条件  一、安装Docker 1.1、检查并清楚系统残余项,并安装Docker环境  1.2、安装下载Docker依赖的工具  1.3、添加清华软件源  1.4、更新yum缓存  1.5、安装Docker(CE-社区版) 1.6、 启动Docker 1.7、Docker设置开机自启 二、下载Jenkins镜像  2.1、挂载目录 2.2、启动镜像

    2024年01月25日
    浏览(52)
  • jenkins+docker集成harbor实现可持续集成

    目录 一、前言 二、Harbor介绍 2.1 什么是Harbor 2.1.1 Harbor架构图 2.2 Harbor 特征 2.3 Harbor 核心组件 2.4 Harbor使用场景 三、Harbor部署 3.1 安装docker compose 3.1.1 安装方式一 3.2 基于python3 pip安装docker compose 3.2.1 安装python3 3.2.2 安装python-pip3并升级 3.2.3 执行命令安装 docker-compose 3.2.4 查看d

    2024年04月15日
    浏览(38)
  • postman持续集成-Jenkins手动构建

    在jenkins.war文件所在的目录输入cmd打开终端输入: 启动服务,启动后终端的窗口不要关闭 在浏览器地址栏输入:localhost:8080 打开已完成并测试无误的postman项目脚本,再次执行测试 导出测试用例集和测试环境两个文件,注意全部是英文,不要有中文 把这两个文件放在一个文件夹内,在

    2024年02月11日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包