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 机器B的ip

既然看到这里,在收藏的同时,也请不吝啬的点个赞呗!期待 ~

相关推荐
lzx_0027 小时前
Linux 进程(二) 深入理解进程
linux
沫璃染墨8 小时前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
温暖小土8 小时前
在 CentOS 上安装 Redis Stack
linux·redis·centos
GeW10 小时前
国产化替代进入深水区之后Linux 与数据库为什么必须走向重建
linux
女神下凡13 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
雪碧聊技术13 小时前
软件测试—如何区分静态测试、动态测试?如何区分白盒测试、黑盒测试?一文详解(保姆教程|附软考真题)
软件测试·静态、动态测试·白盒、黑盒测试
12.=0.13 小时前
【持续更新】shell脚本 + Linux命令
linux·运维·服务器
Escalating_xu14 小时前
【Linux 网络编程】五种 I/O 模型与非阻塞 I/O:从“等数据”到正确处理 EAGAIN
java·linux·网络
无言听风雨丶14 小时前
Linux 容器本质探秘:Cgroup 与 Namespace 深度解析与实战
linux·运维·服务器·kubernetes
万联WANFLOW14 小时前
CVE-2026-98432 等漏洞自查:AI 查出的 Linux、Windows 漏洞,运维怎么确认受不受影响
linux·运维·windows·网络安全