CentOS服务器之间免密登录和传输文件

news2024/9/23 15:31:43

使用过 Jenkins 的同学都知道,Jenkins 会在远程服务器上执行一些命令,如:cd /home/wwwroot/ && git pull,这时候就需要在 Jenkins 服务器上配置免密登录,以及在远程服务器上配置免密登录,这样才能实现 Jenkins 服务器和远程服务器之间的静默文件传输、执行脚本发版等操作。

CentOS

一、场景需要

  • 服务器A:CentOS_168,假如IP为:1.1.1.1
  • 服务器B:CentOS_192,假如IP为:2.2.2.2

要求实现: CentOS_168 向 CentOS_192 通过ssh免密登陆、scp传输文件

二、操作步骤

2.1、登陆服务器A,执行命令生成密钥对

1). 生成秘钥

ssh-keygen

该命令一直按回车(Enter)即可,默认生成位置一般是:~/.ssh/
如果用户是非 root 一般位置是:/home/你的当前用户名/.ssh/

# 进入当前用户的根目录
cd ~
# 查看隐藏文件
ll -a
# or
ls -a

2). 进入该路径

cd ~/.ssh/

2.2、下载生成的公钥文件:id_rsa.pub

找到 id_rsa.pub 这个文件,现将这个文件下载到本地

sz id_rsa.pub

2.3、登陆服务器B

1). 登陆服务器B,进入 /root/.ssh 目录,如果没有该目录,就创建一个

cd /root/.ssh

# or
mkdir /root/.ssh

2). 上传步骤2.2下载到本地的 id_rsa.pub 文件到服务器B的 /root/.ssh 目录下

rz

3). 在服务器B的 /root/.ssh 目录下创建一个 authorized_keys 文件

touch authorized_keys

此时该目录下应该有 id_rsa.pubauthorized_keys 两个文件

4). 将公钥文件 id_rsa.pub 追加到 authorized_keys 文件中

cat id_rsa.pub >> authorized_keys

注意: 尽量不要复制粘贴 id_rsa.pub 的内容,因为有可能会出现乱码,导致免密登录失败。建议使用 cat 命令追加到 authorized_keys 文件中。

三、测试

登录服务器A,以下命令都是在服务器A中执行。

  1. 免密登录,如果能够免密登录服务器B,则表示配置成功。
ssh root@2.2.2.2
  1. 免密传输文件
# 新建一个测试文件
touch /root/test.txt

# 传输文件
scp /root/test.txt root@2.2.2.2:/root/test.txt
# 可以修改文件名
scp /root/test.txt root@2.2.2.2:/root/01.txt
  1. 免密执行命令
ssh root@2.2.2.2 "nginx -t"
# 执行脚本
ssh root@2.2.2.2 "sh /root/01.sh"

欢迎访问:天问博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1369038.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue 自定义网页图标 favicon.ico 和 网页标题

效果预览 1. 添加配置 vue.config.js 在 module.exports { 内添加 // 自定义网页图标pwa: {iconPaths: {favicon32: "./favicon.ico",favicon16: "./favicon.ico",appleTouchIcon: "./favicon.ico",maskIcon: "./favicon.ico",msTil…

为什么选择嬴图?

图数据库、图计算、图中台都是用图论的方式去构造实体间的关联关系,实体用顶点来表达,而实体间的关系用边来表达。图数据库的这种简洁、自由、高维但100%还原世界的数据建模的方式让实体间的关联关系的计算比SQL类的数据库高效成千上万倍。 图&#xff1…

互联网外包公司干了2个月,技术退步明显了.......

先说一下自己的情况,本科毕业,18年通过校招进入南京某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能…

cosmos及特定应用程序的区块链

特定应用程序的区块链,简单来说,一个区块链就是一个专门的应用程序。为了实现某一特定的去中心化应用而专门实现一个区块链。 传统的用智能合约构建去中心化应用不行吗? 灵活性不足:智能合约本质上受到虚拟机本身的限制。例如,以…

详解Oracle数据库的启动

Oracle数据库的启动,其概念可参考Overview of Instance and Database Startup。 其过程可参见下图: 当数据库从关闭状态进入打开数据库状态时,它会经历以下阶段。 阶段Mount状态描述1实例在没有挂载数据库的情况下启动实例已启动&#xff…

【STM32F103】RCC复位和时钟控制

前言 之前介绍外设的时候总是没有提到RCC,但其实我们使用STM32的外设之前都需要做的一步就是打开外设时钟。原本想着没什么可说的,就是用什么外设的时候就在开头加一行代码打开外设时钟就好了。直到最近写到了TIM定时器,我才开始觉得应该说一…

scipy-interpolate整理

文章目录 scipy-interpolate整理Univariate interpolation 单变量插值Multivariate interpolation 多元插值Unstructured data 非结构化数据::For data on a grid 对于网格上的数据::Tensor product polynomials 张量积多项式:: 1-D Splines …

Python(33):数据断言(查询数据库数据和插入数据对比)

Python(33):数据断言(查询数据库数据和插入数据对比) 前言: 需求:需要针对查询数据库数据和插入的数据进行对比,用Python语言进行编写 数据库查询的结果可参考:https://blog.csdn.net/fen_fen/article/details/135462484 1、查…

java解析json复杂数据的两种思路

文章目录 一、原始需求二、简单分析三、具体实现一1. api接口2. 接口返回3. json 数据解析1.)引入Jackson库2.)定义实体3.)解析json字符串4.)运行结果 4. 过程分析 四、具体实现二1. 核心代码2.运行结果 五、方案比较六、源码传送…

Python 自学(七) 之面向对象

目录 1. 类的初始化函数 __init__ P186 2. 动态的为类和对象添加属性 P190 3. 类的访问限制 __xxx P192 4. 类的继承及方法重写 P197 1. 类的初始化函数 __init__ P186 每当创建一个类的实例时,__init__都会被执…

C#高级 10 Linq操作

1.Linq操作介绍 Linq操作是C#集成的类似于数据库语言的操作,是通过将数据库的表名映射为类,把数据库的列名映射为属性。 Linq查询主要分为3类:Linq to object(数组、list集合) --内存里面的数据 Linq to sql(查询数据库用的) --在数据库数据…

告别冗余空白,批量删除空白行

你是否遇到过这样的尴尬情况:花费了大量时间整理的文档,却在最后发现其中充斥着无用的空白行,这些多余的空行不仅影响美观,还让整个文档显得杂乱无章。今天,我要给大家介绍一款强大且实用的工具——首助编辑高手&#…

Go采集1688网站数据对比商品价格

最近看了下多多和1688的一些商品价格,发现好多店铺都是无货源拿货一件发货,这就导致层层叠加价格翻了不知道几倍,真所谓多花钱办的事还是一样,因此,今天我就通过一个爬虫程序监控对应商品价格,了解行业龙头…

Java 最小优先队列API设计与实现

Java 学习面试指南:https://javaxiaobear.cn 最小的元素放在数组的索引1处。每个结点的数据总是小于等于它的两个子结点的数据。 1、API设计 类名MinPriorityQueue构造方法MinPriorityQueue(int capacity):创建容量为capacity的MinPriorityQueue对象成员…

Oracle11.2.0.4从RMAN备份中快速恢复单个表的方法

文章目录 前言一、查询所要恢复的表所涉及的表空间二、创建用于恢复的数据库三、恢复步骤1.恢复控制文件2.修改redo日志名称3.表空间恢复4.表空间recover5.查询数据 前言 由于用户误操作导致某表中的数据错乱,导致业务不能正常使用,现需要将该表恢复到一…

国家数据局——《“数据要素×”三年行动计划(2024—2026年)》

为深入贯彻党的二十大和中央经济工作会议精神,充分发挥数据要素乘数效应,赋能经济社会发展,近日,国家数据局会同中央网信办、科技部、工业和信息化部、交通运输部、等部门联合印发《“数据要素”三年行动计划(2024—20…

VS中打开ui文件闪退

解决办法: 依次点击《扩展》-> 《Qt vs tools》-> 《options》-> 《Qt》-> 《general》 -> 《Qt Designer》 -> 《run in detached window》 -> true

Swift单元测试Quick+Nimble

文章目录 使用QuickNimble1、苹果官方测试框架XCTest的优缺点2、选择QuickNimble的原因:3、QuickNimble使用介绍集成:Quick关键字说明:Nimble中的匹配函数等值判断:使用equal函数是否是同一个对象:使用beIdenticalTo函…

java智慧医院互联网智慧3D导诊系统源码,经由智慧导诊系统多维度计算,准确推荐科室

什么是智慧导诊系统? 简单地说,智慧导诊系统是一种利用人工智能技术,为医生提供帮助的系统。它可以通过分析患者的症状和病史为医生提供疾病诊断和治疗方案的建议。 系统介绍: 医院智慧导诊系统是在医院中使用的引导患者自助就诊挂号&…

Python单继承,子类调用父类方法,使用super关键字

但是这么写话还是并不符合我们平时写代码的规范,一般都是用super来调用,贴代码: # 面向对象的3大特征:继承性,封装性,多态性 class Human():sum1 0def __init__(self, name, age):self.name nameself.ag…