【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.pswp.cn/news/910265.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/910265.shtml
英文地址,請注明出處:http://en.pswp.cn/news/910265.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網站自助廣告投放系統源碼 附安裝教程(源碼下載)

網站自助廣告投放系統源碼 全自動無人化出售網站廣告位 站長必備 源碼測試可用,部分加密。感興趣自行下載 源碼下載:https://download.csdn.net/download/m0_66047725/91093092 更多資源下載:關注我 圖片:

日常運維問題匯總-15

42.SD開票計劃產生的預收款在正式開票時未自動清賬 統馭科目(應收、預收)對應的字段狀態組中附加科目設置銷售訂單字段設置為了隱藏導致,更改為“可選輸入項” 43.MIGO取消憑證時,用戶反饋發現除一行外,其它都不能取消…

【設計模式】6.原型模式

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 原型模式 1. 基礎 import copyclass Resume:def __init__(self, name):self.name nameself.sex Noneself.age Noneself.time_area Noneself.compan…

【算法 day08】LeetCode 151.翻轉字符串里的單詞 |卡碼網:55.右旋轉字符串

151.翻轉字符串里的單詞 題目鏈接 | 文檔講解 |視頻講解 : 鏈接 1.思路: 1.去除字符串頭尾的空格 ,使用庫函數 trim() 2.對字符串進行分割,使用庫函數split() 3.創建StringBuilder sb&#x…

【WordPress優化插件】WPOPT v2.4.7

WPOPT插件,是由本站開發的一款WordPress優化插件,能對WordPress底層功能進行優化,支持功能開關,系統加速等功能。 2.0版本全新發布,采用vite打包,界面采用Vue3+element-plus制作。無論是外觀,還是框架功能,都是空前的強大。 功能更多,更強,是所有WordPress網站都值得…

如何使用 mkimage 工具生成 uImage 文件(RISC-V 環境)

一、mkimage 命令參數詳解 在 RISC-V Linux 環境下,使用 U-Boot 的 mkimage 工具生成 uImage 的基本命令格式如下: mkimage -A riscv -O linux -T kernel -C compression -a load_addr -e entry_addr -n "描述信息" -d Image uImage核心參數…

React Native 搭建iOS與Android開發環境

目錄 第一步 第二步 一、必須安裝的工具 二、具體安裝步驟 1. 安裝 Homebrew 切換國內源和其他配置: 2. 安裝 node 3.下載watchman 4. Ruby 5.CocoaPods 配置環境 6. jdk 7. 配置git 開發環境 第三步——啟動項目(可以忽略) 1…

Vue 簡寫形式全解析:清晰記憶指南

Vue 簡寫形式全解析:清晰記憶指南 Vue 中的各種簡寫形式確實容易混淆,我將它們系統化整理,并提供了多種記憶方法,幫助你輕松掌握! 一、核心簡寫形式匯總表 完整形式簡寫形式適用場景記憶技巧v-bind:attribute:attribute動態綁定屬性: 像鏈條,表示"綁定"v-on:…

車載電子電器架構 --- 電子電氣架構設計方案

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 做到欲望極簡,了解自己的真實欲望,不受外在潮流的影響,不盲從,不跟風。把自己的精力全部用在自己。一是去掉多余,凡事找規律,基礎是誠信;二是…

MVCC中read_view的核心參數解析與讀操作流程實戰

在數據庫并發控制領域,MVCC(多版本并發控制)是實現高性能讀寫并發的關鍵技術。其中,read_view作為MVCC判斷數據可見性的核心組件,其內部參數的設計直接影響著并發訪問的行為。本文將深入解析read_view的三個核心參數&a…

從代碼學習深度強化學習 - REINFORCE 算法 PyTorch版

文章目錄 前言**一、 理論基礎:什么是策略梯度?****1.1 基于價值 vs. 基于策略****1.2 策略梯度(Policy Gradient)****1.3 REINFORCE 算法:蒙特卡洛策略梯度****1.4 REINFORCE 算法流程****二、 PyTorch 代碼實踐****2.1 環境與輔助函數****2.2 核心算法實現****2.3 訓練與…

CRMEB 代碼規范指南:ThinkPHP6+Uni-app 架構下的開發標準

二、代碼規范 2.1 Vue .1.1 代碼結構 <template><div id"my-component"><DemoComponent /></div> </template><script> import DemoComponent from ../components/DemoComponentexport default {name: MyComponent,component…

游戲技能編輯器開發完全指南系統架構設計之技能編輯器整體架構

技能編輯器整體架構 角色資源劃分與管理 1. 角色資源結構 角色資源劃分與管理 1. 角色資源結構 // 骨骼重定向示例 void RetargetAnimation(Animation& srcAnim, Skeleton& targetSkeleton) {for (int frame 0; frame < srcAnim.numFrames; frame) {for (Bone&a…

SD-WAN 不是“裸跑”:聊聊怎么把網絡安全綁在智能網關上

SD-WAN 不是“裸跑”:聊聊怎么把網絡安全綁在智能網關上 一、別被“軟件定義”忽悠了:SD-WAN 到底安不安全? 這些年,“SD-WAN”這個詞火得不行,聽上去高大上,像“云原生網絡”、“下一代 WAN 技術”、“運維降本神器”,廠商的 PPT 一個比一個能吹。 但咱搞運維的知道…

國產Linux銀河麒麟操作系統上安裝開源的視頻錄制和直播推流OBS Studio軟件

一、OBS Studio 簡介 OBS Studio (Open Broadcaster Software Studio) 是一款開源的視頻錄制和直播推流軟件&#xff0c;具有以下特點&#xff1a; 跨平臺支持&#xff1a;支持 Windows、macOS 和 Linux 系統功能全面&#xff1a; 支持多場景無縫切換提供豐富的音視頻源管理內…

Thrift作為客戶端流程(多路復用)

以下是一個 使用多路復用&#xff08;TMultiplexedProtocol&#xff09; 的 Thrift 客戶端完整流程和關鍵函數&#xff08;以 Java 為例&#xff09;&#xff0c;適用于當服務端使用 TMultiplexedProcessor 注冊了多個服務時&#xff0c;客戶端可以區分并調用不同的服務。 ? 客…

實現PDF文件添加水印的功能

通過Java代碼實現PDF文件添加水印的功能&#xff0c;主要依賴iText庫&#xff08;用于PDF操作&#xff09;和OSS SDK&#xff08;可選&#xff0c;用于文件上傳&#xff09;。以下是實現的核心步驟&#xff1a; 首先添加依賴 <!-- 添加 PDF 水印 --><dependency>…

Swoft2 框架精華教程:Swoft 的視圖組件

概述 用模板對頁面進行渲染&#xff0c;這是比較經典的一種設計方式了。主要目的是在服務器端進行頁面渲染&#xff0c;以使客戶端瀏覽器可以直接拿到頁面 html 的代碼&#xff0c;這樣對搜索引擎對網站的收錄比較友好。如果是前后端分離的形式&#xff0c;由于前后端交互是用…

[學習] 哈希碼:原理、用途與實現詳解(C代碼示例)

哈希碼&#xff1a;原理、用途與實現詳解 博主在《在C語言中使用字典》一文中&#xff0c;使用哈希來實現鍵值對的快速檢索&#xff0c;今天對哈希這一算法工具&#xff0c;進行一些深入的研究&#xff0c;爭取能能做到知其然亦知其所以然。 文章目錄 哈希碼&#xff1a;原理、…

golang--channel的關鍵特性和行為

Go 語言 Channel 的核心特性與行為深度解析 Channel 是 Go 語言并發編程的核心組件&#xff0c;用于在不同 goroutine 之間進行通信和同步。以下是其關鍵特性和行為的全面分析&#xff1a; 一、基本特性 1. 類型安全通信管道 ch : make(chan int) // 只能傳遞整數2. 方向性…