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


    背景知识

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

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

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

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

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

    一、机器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 服务

    1. # 查看 ssh 状态
    2. systemctl status sshd
    3. # 启动 ssh
    4. systemctl start sshd
    5. # 停止 ssh
    6. systemctl stop sshd

    四、serverA 生成秘钥

    [root@localhost ~]# ssh-keygen

    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

    chmod -R 600 ~/.ssh/authorized_keys

    六、验证免密登录

    ssh 机器Bip

    最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    在这里插入图片描述

    软件测试面试小程序

    被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

    涵盖以下这些面试题板块:

    1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

    6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

    这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!   

  • 相关阅读:
    c语言内存函数
    Linux服务器,使用ssh登录时越来越慢,有时甚至出现超时的现象,解决方案
    HDFS WEB API 测试
    foxmail的报错处理 access violation ** at ** foxmail.exe
    Mybatis方式完成CRUD操作
    3D机器视觉:解锁未来的立体视野
    信息差也能赚钱?具体是怎么做的?看完这个你就懂了!
    Vue-(6)
    线程与进程的关联
    Go sync.Mutex互斥锁的学习
  • 原文地址:https://blog.csdn.net/qq_48811377/article/details/132624470