Linux配置SSH公钥认证与Jenkins远程登录进行自动发布

Stella981
• 阅读 395

1、问题描述

  假设有两台服务器,A是Jenkins构建服务器,B是应用服务器,现有问题是A构建好应用之后,将程序包传到B服务器进行发布,并执行启动命令?这时候就需要给用到远程“免密码”登录。

2、解决原理

  公钥认证,是使用RSA加密算法生成一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密;另一个称为密钥(private key),只有拥有者才能看到,用于解密。在使用jenkins自动构建并远程登录服务器进行发布应用的时候,需要使用SSH公钥认证来解决登录服务器的问题。

3、操作步骤

  1、在A服务器上使用命令:cd /root/.ssh,进入到 /root/.ssh目录

  2、在A服务器上对应目录上生成密钥对,命令:ssh-keygen -t rsa -P '',回车之后会生成id_rsa(私钥) 和 id_rsa.pub(公钥)两个文件。

Linux配置SSH公钥认证与Jenkins远程登录进行自动发布

3、使用cat id_rsa.pub(公钥) 查看内容,并复制此条命令。

[root@user .ssh]# cat id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtOQDhB3jLr7MGfUPi7KjVnOIYplcfNQpYJRPfdwn8ImvqZJGiR8ZQd2GRnNQ9VoXa3hosdQbdlTydehlxqAXd3i4/jxbk/8sfbk6w62wgHUWoV3PA88BvqASZ9YLoO6euWXYAi/wi2/vcUJQhsjHdYsaTUJ59JE4zhy<br>DY8rsgQ3yb1Mcjyen6lnUNk/UxvdXrtmSPW2yDd4QdJ33p4BmAwGK8IBziNK2IHbdddjtQCfviCQi6HBiKdBlrOpNgk1FTkA2FsCSAt0Ec5qy+didrSZ1OZGNrN0vBLYe0Q+kD5LI4dbnmUOhwnPy4GkJ4zK42Woy/stJbnmsTfRPpwbKQ6== root@user.dev

4、在B服务器上,进入目录:/root/.ssh,并执行如下命令:

echo 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtOQDhB3jLr7MGfUPi7KjVnOIYplcfNQpYJRPfdwn8ImvqZJGiR8ZQd2GRnNQ9VoXa3hosdQbdlTydehlxqAXd3i4/jxbk/8sfbk6w62wgHUWoV3PA88BvqASZ9YLoO6euWXYAi/wi2/vcUJQhsjHdYsaTUJ59<br>JE4zhyDY8rsgQ3yb1Mcjyen6lnUNk/UxvdXrtmSPW2yDd4QdJ33p4BmAwGK8IBziNK2IHbdddjtQCfviCQi6HBiKdBlrOpNgk1FTkA2FsCSAt0Ec5qy+didrSZ1OZGNrN0vBLYe0Q+kD5LI4dbnmUOhwnPy4GkJ4zK42Woy/stJbnmsTfRPpwbKQ6== root@user.dev' >> authorized_keys

5、如果还有其他应用服务器C,那么重复步骤4即可。 

6、其他知识,在A服务器上可以使用产生的私钥登录到其他服务器,命令如下:

ssh -i id_rsa root@192.168.1.1

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
SSH公钥免密登录其他主机
在多台主机之间使用SSH免密登录,假设主机A免密登录主机B:1\.在主机A上生成自己的ssh公钥:root@A~sshkeygentrsa执行上面命令,一路回车,完成后,会在~/.ssh目录下生成2个文件:id\_rsa(私钥)和id\_rsa.pub(公钥)2\.将主机A上生成的公钥
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Stella981 Stella981
2年前
Linux单向免密登录最简配置
前置:两台linux,A和B需求:A免密登录B步骤:root用户登录A输入命令:sshkeygen之后一路按回车完成后进行公钥分发命令:sshcopyidi/root/.ssh/id\_rsa.pubB的IP示例:sshcopyidi/root/.ssh/id\_rsa.pub192.168.1
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法参考文章:(1)Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.codeprj.com%2Fblo
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这