【达梦数据库】两台或多台服务器之间免密登录设置-【dmdba用户】

ops/2024/10/24 5:24:36/

目录

  • 背景
  • 1、服务器A免密登录本机
    • 1.1、生成私钥(id_rsa)和公钥(id_rsa.pub)
    • 1.2、追加公钥到服务器A的密码登录权限管理文件
    • 1.3、结果验证
  • 2、服务器A免密登录服务器B
    • 2.1、确认服务器B有目的文件夹
    • 2.2、服务器A的公钥复制到服务器B上
    • 2.3、追加公钥到服务器B的密码登录权限管理文件
    • 2.4、结果验证
  • 3、服务器B免密登录服务器A

背景

在使用上线检测脚本时,需要用到服务器之间相互免密登录的功能。root用户请参考: SSH远程登录:两台或多台服务器之间免密登录设置,dmdba用户请参考下文

1、服务器A免密登录本机

1.1、生成私钥(id_rsa)和公钥(id_rsa.pub)

在服务器A中指定的位置(/home/dmdba/.ssh)生成私钥(id_rsa)和公钥(id_rsa.pub)

#服务器A,dmdba用户下:ssh-keygen -t rsa
#部分服务器执行ssh-keygen即可

一路回车键,可看到如下图生成的私钥和公钥,此时服务器A的dmdba用户私钥已经生成
在这里插入图片描述

1.2、追加公钥到服务器A的密码登录权限管理文件

在服务器A中把公钥id_rsa.pub追加到服务器A管理密码登录权限的文件(authorized_keys)中

cd /home/dmdba/.ssh/cat id_rsa.pub >> authorized_keys

1.3、结果验证

使用dmdba用户ssh本机ip,即可验证。

ssh dmdba@192.168.56.200

在这里插入图片描述

2、服务器A免密登录服务器B

2.1、确认服务器B有目的文件夹

确认服务器B是否存在目的文件夹/home/dmdba/.ssh/,如果没有,需要按照1.1、生成私钥(id_rsa)和公钥(id_rsa.pub)章节操作,目的是为了生成/home/dmdba/.ssh/文件夹(如果存在跳过本小节

#服务器B,dmdba用户下:ssh-keygen -t rsa
#部分服务器执行ssh-keygen即可

在这里插入图片描述

2.2、服务器A的公钥复制到服务器B上

把服务器A的公钥id_rsa.pub复制到服务器B中任意位置(如/tmp下),常见scp命令如下:

服务器A中:scp -r /home/dmdba/.ssh/id_rsa.pub root@192.168.56.209:/tmp

2.3、追加公钥到服务器B的密码登录权限管理文件

刚才复制过来的公钥id_rsa.pub追加到服务器B管理密码登录权限的文件(authorized_keys)中

服务器B中:cat /tmp/id_rsa.pub >> /home/dmdba/.ssh/authorized_keys

此时,服务器A的公钥(登录服务器B的权限)追加到服务器B中的权限文件authorized_keys中,服务器A可免密登录服务器器B了。
原因:因为此时服务器B的密码登录权限文件authorized_keys中已经有服务器A的公钥,即A获得了B的登录权限。

2.4、结果验证

使用服务器A的dmdba用户ssh服务器B的dmdba用户,即可验证

服务器A中:ssh dmdba@192.168.56.209

在这里插入图片描述

3、服务器B免密登录服务器A

同章节2、服务器A免密登录服务器B


http://www.ppmy.cn/ops/128016.html

相关文章

Python基础08

目录 1.Object-Oriented Programming 2.类 2.1类的定义 2.2实例化对象(构造函数) 2.3self 2.4cls 2.5实例变量(也叫属性) 2.6类属性 2.5初始化方法 2.7类方法 2.8静态方法 3.继承 3.1单继承 3.2多继承 3.3覆盖(Override) 1.Object-Oriented Programming 一切皆…

力扣每日一题3175. 找到连续赢 K 场比赛的第一位玩家

看到数据范围n是1e5, k是1e9就可以知道,这题目暴力模拟肯定会超时。 但我们看,在k比n大情况下,一轮循环下来肯定是没有赢家的,需要多轮。当然,我们肯定不可能去一轮一轮模拟,那我们怎么判断谁是赢家呢&…

gin入门教程(8):渲染与静态文件

目录结构 /hello-gin │ ├── cmd/ │ └── main.go ├── pkg/ │ └── shared_lib.go ├── internal/ │ └── internal_lib.go ├── api/ │ └── routes.go ├── config/ │ └── config.go ├── migrations/ │ └── migration.sql └…

Vue封装组件并发布到npm仓库

前言 使用Vue框架进行开发,组件封装是一个很常规的操作。一个封装好的组件可以在项目的任意地方使用,甚至我们可以直接从npm仓库下载别人封装好的组件来进行使用,比如iview、element-ui这一类的组件库。但是每个公司的业务场景可能不同&…

Python 实现的风控系统(使用了kafka、Faust、模拟drools、redis、分布式数据库)

以下是一个使用 Python 实现的风控系统示例,涵盖以下技术组件: Kafka 消息中间件:用于实时接收支付业务系统传递的交易数据。Faust(Kafka Streams 的 Python 等价):用于流式处理 Kafka 中的消息。规则引擎…

axios直接上传binary

axios直接上传二进制文件 、 axios直接上传apk、axios直接上传binary postman中的参数选项中有个binary,平常我们很少使用,可能有的同学遇到这种情况不太会了,认为后端应该有个字段名来接收,或者使用 Formdata,但其实…

报表工具怎么选?山海鲸VS帆软,哪个更适合你?

概述 在国产报表软件市场中,山海鲸报表和帆软这两款工具都占有一席之地,许多企业在选择报表工具时常常在它们之间徘徊。然而,随着企业对数据分析需求的不断增长和复杂化,如何选取一款高效、易用且性价比高的报表工具,…

中小型医院网站:Spring Boot开发策略

2 相关技术简介 2.1 Java技术 Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,…