当前位置: 首页 > news >正文

【Ambari3.0.0 部署】Step2—免密登陆认证-适用于el8

如果有其他系统部署需求可以参考原文

戳我->所有组件编译教程
戳我->获取部署源代码

在这里插入图片描述
在这里插入图片描述

一、免密登录认证 🔐

在多台服务器协同工作的环境中,免密登录(SSH 免密认证)是一种常见的优化手段,能够极大地提升运维效率,避免频繁输入密码带来的不便,同时加强自动化管理能力。

1. 什么是免密登录? 🤔

免密登录(SSH 免密认证)是一种 基于公私钥的身份认证机制,允许用户在不同服务器之间 无需输入密码 直接登录远程机器。这种方式利用 SSH 密钥对 来进行身份验证,相比传统的密码认证方式更加安全高效。

通常,SSH 免密认证涉及两个关键文件:

  • 私钥(Private Key):存放在客户端,用户持有并保密
  • 公钥(Public Key):存放在目标服务器上,用于匹配客户端的私钥

当用户尝试连接服务器时,SSH 客户端会使用私钥进行加密认证,而服务器会验证该私钥是否匹配已存储的公钥,从而决定是否允许访问。

2. 为什么要使用免密登录? 🚀

在多台服务器的管理环境中,免密登录具有以下 明显的优势

优势描述
提高运维效率免去手动输入密码的步骤,特别是在批量管理多台服务器时,提高 SSH 连接的便捷性
适用于自动化任务 🤖例如 Ansible、Shell 脚本、远程执行命令等场景,SSH 免密登录可以确保任务的自动执行
增强安全性 🔐由于不依赖密码登录,避免了因密码泄露或弱密码导致的安全风险
无交互式认证 📡适用于 无 UI 的环境(如 Docker 容器、远程服务器管理)

在多机环境(如 Kubernetes、Hadoop、Spark 集群)中,免密认证是 必须配置的基础组件,否则很多自动化任务将无法运行。

3. 如何实现免密登录? 🔑

我们书接上回,仍然以 3 台 CentOS 7.9 服务器 为例,分别命名为 dev1dev2dev3,配置 SSH 免密登录,使 dev1 可以无密码登录 dev2dev3

步骤概览

  1. dev1 生成 SSH 密钥对
  2. dev1 的公钥复制到 dev2dev3
  3. 测试免密登录

第一步:生成 SSH 密钥对

dev1 上执行以下命令:

 ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -N ''chmod 700 ~/.sshchmod 600 ~/.ssh/id_rsachmod 644 ~/.ssh/id_rsa.pub

这将生成一对 SSH 密钥:

  • 私钥:存放在 ~/.ssh/id_rsa务必保密
  • 公钥:存放在 ~/.ssh/id_rsa.pub可分发

第二步:分发公钥到 dev2dev3

使用 ssh-copy-id 命令将公钥添加到远程服务器:

# 直接复制即可,自己添加自己也无妨
ssh-copy-id -i ~/.ssh/id_rsa.pub dev1
ssh-copy-id -i ~/.ssh/id_rsa.pub dev2
ssh-copy-id -i ~/.ssh/id_rsa.pub dev3

执行该命令后,公钥会被自动追加到目标服务器的 ~/.ssh/authorized_keys 文件中。

提示: 如果 ssh-copy-id 命令不可用,可以手动复制 id_rsa.pub 的内容到 dev2dev3~/.ssh/authorized_keys

image-20250313233307425

第三步:测试免密登录

dev1 上尝试登录 dev2dev3

ssh dev2
ssh dev3

如果一切正常,你应该可以直接登录,无需输入密码。

注意:你需要所有机器都完成免密登陆

image-20250313233729596

🚀 至此,服务器之间的 SSH 免密认证已经完成,欢迎在实践中进一步优化!

http://www.lqws.cn/news/470665.html

相关文章:

  • 智能机器人后期会如何发展?
  • 【烧脑算法】枚举:有序穷举,分步排查
  • 植物神经小知识
  • 教育培训APP源码核心功能开发详解:直播、考试、组卷系统全拆解
  • 力扣1546. 和为目标值且不重叠的非空子数组的最大数目
  • 1. 常见K线组合
  • 【STM32笔记】F1F4 STM32初识、MDK调试、HAL简介
  • 3.10 坐标导航
  • C++ 函数模板
  • 【基础算法】贪心 (一) :简单贪心
  • JavaWeb后端部分
  • win2003_ddk.3790里面有windbg--6.1.0017.2----备忘
  • 【环境配置】在Ubuntu Server上安装5090 PyTorch环境
  • Python 正确重载运算符(增量赋值运算符)
  • C++重点知识详解(命名空间,缺省参数,函数重载)
  • 【舞蹈】编排:如何对齐拍子并让小节倍数随BPM递减
  • 两个python独立进程通信
  • Kubernetes 节点故障自愈方案:结合 Node Problem Detector 与自动化脚本
  • Java面试题025:一文深入了解数据库Redis(1)
  • 自定义 Hook:在 Vue3 中复用逻辑
  • Vue3 + TypeScript + xlsx 导入excel文件追踪数据流转详细记录(从原文件到目标数据)
  • Vue+spring boot前后端分离项目搭建---小白入门
  • 2025云服务器磁盘空间告急全解析:日志管理策略与智能扩容方案
  • 98. 验证二叉搜索树
  • Redis哨兵模式的学习(三)
  • React JSX语法
  • Hologres 使用 FDW
  • 「Linux文件及目录管理」输入输出重定向与管道
  • 网络编程及原理(六):三次握手、四次挥手
  • 什么是跨域问题?后端如何解决跨域问题?