TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • 适用于Ambari2.8.0-el7

    • Step1—基础环境准备
    • Step2—免密登陆认证
      • 1. 什么是免密登录? 🤔
      • 2. 为什么要使用免密登录? 🚀
      • 3. 如何实现免密登录? 🔑
        • 步骤概览
        • 第一步:生成 SSH 密钥对
        • 第二步:分发公钥到 `dev2` 和 `dev3`
        • 第三步:测试免密登录
    • Step3—安装JDK
    • Step4—时间同步(Chrony)
    • Step5—Nginx安装
    • Step6—本地yum源配置
    • Step7—Mariadb初始化
    • Step8—AmbariServer初始化
    • Step9—Ambari Web Ui 初始化安装
    • [重要]—源码包下载
  • 适用于Ambari3.0.0-el7

  • 常规安装
  • 适用于Ambari2.8.0-el7
JaneTTR
2019-11-12
目录

Step2—免密登陆认证

# 一、免密登录认证 🔐

在多台服务器协同工作的环境中,免密登录(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 服务器 为例,分别命名为 dev1、dev2、dev3,配置 SSH 免密登录,使 dev1 可以无密码登录 dev2 和 dev3。

# 步骤概览

  1. 在 dev1 生成 SSH 密钥对
  2. 将 dev1 的公钥复制到 dev2 和 dev3
  3. 测试免密登录

# 第一步:生成 SSH 密钥对

在 dev1 上执行以下命令:

 ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -N ''
 chmod 700 ~/.ssh
 chmod 600 ~/.ssh/id_rsa
 chmod 644 ~/.ssh/id_rsa.pub
1
2
3
4

这将生成一对 SSH 密钥:

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

# 第二步:分发公钥到 dev2 和 dev3

使用 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
1
2
3
4

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

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

image-20250313233307425

# 第三步:测试免密登录

在 dev1 上尝试登录 dev2 和 dev3:

ssh dev2
ssh dev3
1
2

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

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

image-20250313233729596

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

#常规安装
Step1—基础环境准备
Step3—安装JDK

← Step1—基础环境准备 Step3—安装JDK→

最近更新
01
Pandoc 缺失导致 SparkR 构建失败
06-08
02
Cyrus SASL/GSASL 缺失解决
06-07
03
Hadoop_3.3.4 编译实战 1.0.0+
06-06
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式