postgresql設置免密登錄

您提供的步驟描述了在 PostgreSQL 數據庫環境中配置服務器間的 SSH 無密碼登錄和數據庫用戶認證的過程。這些步驟主要用于設置一個高可用性、負載平衡的數據庫集群環境。讓我們逐一解釋這些步驟的目的和應用場景:

1. 啟動 PostgreSQL 服務

systemctl start postgresql-13

這個命令用于啟動 PostgreSQL 13 的服務。

2. 創建數據庫角色

CREATE ROLE pgpool WITH LOGIN;
CREATE ROLE repl WITH REPLICATION LOGIN;

這些命令在 PostgreSQL 中創建了兩個角色:pgpoolreplpgpool 用于連接池管理,而 repl 用于復制(replication)。

3. 設置 SSH 無密碼登錄

ssh-keygen -t rsa -f id_rsa_pgpool
ssh-copy-id -i id_rsa_pgpool.pub postgres@server1
ssh-copy-id -i id_rsa_pgpool.pub postgres@server2
ssh-copy-id -i id_rsa_pgpool.pub postgres@server3

這些命令生成了一個 SSH 密鑰對,并將公鑰復制到集群中的其他服務器上。這允許 postgres 用戶在不需要輸入密碼的情況下通過 SSH 訪問集群中的其他服務器,這對于管理和自動化任務非常重要。

4. 配置 .pgpass 文件

vi /var/lib/pgsql/.pgpass

.pgpass 文件用于存儲數據庫連接的憑據,使得腳本和程序能夠在不需交互輸入密碼的情況下連接到數據庫。
/var/lib/pgsql/.pgpass 文件用于存儲 PostgreSQL 數據庫的登錄憑據,以便在不需要交互式輸入密碼的情況下自動登錄。這個文件的每一行都包含一個數據庫連接的憑據,格式如下:

hostname:port:database:username:password

每個字段的含義如下:

  1. hostname: 數據庫服務器的主機名或IP地址。如果適用于所有主機,可以使用 * 代替。
  2. port: 數據庫服務器監聽的端口。如果適用于所有端口,可以使用 * 代替。
  3. database: 要連接的數據庫名稱。如果適用于所有數據庫,可以使用 * 代替。
  4. username: 連接數據庫的用戶名。
  5. password: 用戶名對應的密碼。

例如,如果您想為用戶 replserver1, server2, 和 server3 上的 replication 數據庫配置自動登錄,并且為 postgres 用戶在這些服務器上的 postgres 數據庫配置自動登錄,您的 .pgpass 文件將如下所示:

server1:5432:replication:repl:repl_password
server2:5432:replication:repl:repl_password
server3:5432:replication:repl:repl_password
server1:5432:postgres:postgres:postgres_password
server2:5432:postgres:postgres:postgres_password
server3:5432:postgres:postgres:postgres_password

這里,repl_passwordpostgres_password 應該被替換為實際的密碼。

安全注意事項:

  • .pgpass 文件應該被設置為僅由文件擁有者可讀,使用命令 chmod 600 /var/lib/pgsql/.pgpass
  • 由于這個文件包含敏感信息,確保它的安全性非常重要。只有必要的用戶和應用程序應該能夠訪問這個文件。
  • 在配置文件時要小心,避免在不安全的環境中泄露憑據。

應用場景

假設您正在設置一個由三個服務器(server1、server2、server3)組成的 PostgreSQL 集群,您可能需要進行以下操作:

  • 數據復制(Replication):使用 repl 角色在主服務器和備份服務器之間同步數據。
  • 負載平衡(Load Balancing):使用 pgpool 或其他工具分配查詢負載,優化性能。
  • 自動化任務:例如,數據庫備份、監控或其他維護任務,可以通過 SSH 無密碼登錄在服務器之間自動執行。

通過這些配置,您的數據庫環境將支持高可用性和易于管理的特性,使得在出現故障或需要擴展時,您可以更加靈活和迅速地應對。

測試
ssh postgres@server1 -i ~/.ssh/id_rsa_pgpool ls /home

這個命令是在使用 SSH 連接到名為 server1 的服務器,并執行 ls /home 命令來列出 /home 目錄的內容。讓我們分解這個命令的各個部分:

  1. ssh postgres@server1: 這是一個 SSH 命令,用于通過網絡從當前服務器(或計算機)連接到 server1。在這里,postgres 是你將要以其身份登錄到 server1 的用戶名。

  2. -i ~/.ssh/id_rsa_pgpool: 這個選項指定了私鑰文件的位置,用于驗證身份。-i 參數告訴 SSH 使用 ~/.ssh/id_rsa_pgpool 私鑰文件進行身份驗證,而不是默認的私鑰文件。這個文件是之前生成的,用于設置無密碼 SSH 訪問的一部分。

  3. ls /home: 登錄到 server1 之后,將執行的命令。ls 是一個列出目錄內容的命令,在這種情況下,它被用來列出 server1/home 目錄的內容。

總的來說,這個命令允許用戶 postgres 使用指定的私鑰文件遠程登錄到 server1,并在那里執行 ls /home 命令來查看 /home 目錄中的文件和目錄列表。這是遠程服務器管理和自動化任務中常見的操作。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213882.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213882.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213882.shtml

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

相關文章

ReetrantReadWriteLock底層原理

文章目錄 一、讀寫鎖介紹二、ReentrantReadWriteLock底層原理1. 讀寫鎖的設計 一、讀寫鎖介紹 現實中有這樣一種場景:對共享資源有讀和寫的操作,且寫操作沒有讀操作那么頻繁(讀多寫少)。在沒有寫操作的時候,多個線程同時讀一個資源沒有任何問題&#xf…

jQuery-操作DOM

使用jQuery操作DOM dom : 文檔對象模型 就是HTML元素 $() 函數的2個用法: 用法1:放入一個字符串(選擇器)表示獲取元素 例如 $("p") $("#abc") $(".del") 用法2:放入一個函數,表示文檔就緒函數 例如 $(function(){代…

TikTok挑戰榜單:全球用戶如何共襄盛舉

TikTok作為全球最受歡迎的短視頻應用之一,在這個平臺上,用戶們通過參與各種挑戰,創造了無數令人驚嘆的短視頻。 本文將深入探討TikTok挑戰榜單的現象,探究全球用戶如何共襄盛舉,以及這種創意激發和社交互動如何成為Ti…

go-zero開發入門-API網關鑒權開發示例

本文是go-zero開發入門-API網關開發示例一文的延伸,繼續之前請先閱讀此文。 在項目根目錄下創建子目錄 middleware,在此目錄下創建文件 auth.go,內容如下: // 鑒權中間件 package middlewareimport ("context""e…

前端開發常用的Vscode插件整理(持續更新)

本文記錄用vscode進行前端開發時,常用到的有用的vscode插件,將不定時更新~ 1、Chinese (Simplified) 將編輯器變成簡體中文 2、vscode-icon 讓 vscode 資源樹目錄加上圖標,官方出品的圖標庫 3、Import Cost 引入包大小計算,對于…

Springboot Redis Lua 分布式限流器

pom文件中添加如下依賴包&#xff0c;比較關鍵的就是 spring-boot-starter-data-redis 和 spring-boot-starter-aop。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></d…

基于ssm實驗室開放管理系統論文

摘 要 現代經濟快節奏發展以及不斷完善升級的信息化技術&#xff0c;讓傳統數據信息的管理升級為軟件存儲&#xff0c;歸納&#xff0c;集中處理數據信息的管理方式。本實驗室開放管理系統就是在這樣的大環境下誕生&#xff0c;其可以幫助管理者在短時間內處理完畢龐大的數據信…

高效純化樹脂A-2313 CPR

在化工、制藥等行業中&#xff0c;對colorful chemicals的純化一直是挑戰。本文將為您介紹一款具有卓越性能的強堿性陰離子交換樹脂——Tulsion A-2313 CPR。通過分析其特性和應用&#xff0c;展示其在colorful chemicals純化領域的優勢。 一、Tulsion A-2313 CPR離子交換樹脂的…

代碼隨想錄二刷 |二叉樹 |94.二叉樹的中序遍歷

代碼隨想錄二刷 &#xff5c;二叉樹 &#xff5c;二叉樹的中序遍歷 題目描述解題思路代碼實現迭代法遞歸法 題目描述 94.二叉樹的中序遍歷 給定一個二叉樹的根節點 root &#xff0c;返回 它的 中序 遍歷 。 示例 1&#xff1a; 輸入&#xff1a;root [1,null,2,3] 輸出&a…

漏洞復現-浙江宇視 isc LogReport.php 遠程命令執行漏洞(附漏洞檢測腳本)

免責聲明 文章中涉及的漏洞均已修復&#xff0c;敏感信息均已做打碼處理&#xff0c;文章僅做經驗分享用途&#xff0c;切勿當真&#xff0c;未授權的攻擊屬于非法行為&#xff01;文章中敏感信息均已做多層打馬處理。傳播、利用本文章所提供的信息而造成的任何直接或者間接的…

C++臨時對象生命周期

引言 朋友問了我一段代碼&#xff1a; const string & foo(const string & a, const string & b) {return a.empty() ? b : a; } int main () {auto & s foo("", "foo"); // auto is const stringcout << s << \n;return …

第二百回 如何獲取App自身的信息

文章目錄 1. 概念介紹2. 使用方法2.1 ClipOval2.2 ClipRRect 3. 示例代碼 我們在上一章回中介紹了AspectRatio Widget相關的內容&#xff0c;本章回中將介紹剪裁類組件(Clip).閑話休提&#xff0c;讓我們一起Talk Flutter吧。 1. 概念介紹 我們在這里說的剪裁類組件主要是指對…

dockerfile---創建鏡像

dockerfile創建鏡像&#xff1a;創建自定義鏡像。 包擴配置文件的創建&#xff0c;掛載點&#xff0c;對外暴露的端口。設置環境變量。 docker鏡像的方式: 1、基于官方源進行創建 根據官方提供的鏡像源&#xff0c;創建鏡像&#xff0c;然后拉起容器。是一個白板&#xff0c…

初識人工智能,一文讀懂強化學習的知識文集(5)

&#x1f3c6;作者簡介&#xff0c;普修羅雙戰士&#xff0c;一直追求不斷學習和成長&#xff0c;在技術的道路上持續探索和實踐。 &#x1f3c6;多年互聯網行業從業經驗&#xff0c;歷任核心研發工程師&#xff0c;項目技術負責人。 &#x1f389;歡迎 &#x1f44d;點贊?評論…

2023年運營級網賺網盤平臺搭建指南(包含源碼和教程)

源碼介紹 為什么要考慮自己搭建網盤呢&#xff1f;現如今&#xff0c;許多大型網盤平臺都對文件添加了各種限制&#xff0c;導致很多文件容易被刪除。而且&#xff0c;大部分網盤還會限制下載速度&#xff0c;如果沒有開通VIP會員&#xff0c;使用起來非常不便。 本指南提供了…

免費節假日api接口使用教程-聚合數據

免費節假日api接口使用教程-聚合數據 文章目錄 &#x1f4d6;訪問官網&#x1f330;例子完整代碼&#x1f58a;?最后總結 &#x1f4d6;訪問官網 聚合數據 官網地址 https://dashboard.juhe.cn/home 點擊api 接口文檔 &#x1f330;例子 get方式 curl -k -i -d “key您申請…

解決Git提交錯誤分支

如果 Git 提交到錯誤的分支&#xff0c;可以通過以下步驟將其轉移到正確的分支上&#xff1a; 1.檢查當前所在的分支&#xff0c;可以通過 git branch 命令查看。 git branch2.切換到正確的分支&#xff0c;可以通過 git checkout <正確的分支名> 命令進行切換。 git …

vue使用echarts顯示中國地圖

項目引入echarts以后&#xff0c;在頁面創建canvas標簽 引入一個公共js文件&#xff08;下面這段代碼就是china.js文件&#xff09; (function (root, factory) {if (typeof define function && define.amd) {// AMD. Register as an anonymous module.define([ex…

【EXCEL】折線圖添加垂直x軸的豎線|畫圖

相關鏈接&#xff1a;excel 添加垂直豎向直線 如何在Excel中添加水平和垂直線&#xff1f; 因為加輔助列有點不習慣&#xff0c;已經有分位數橫坐標了&#xff0c;想著試下用散點圖的誤差線畫 效果圖&#xff1a; 步驟&#xff1a; s1&#xff1a;隨便框選兩列數據–>插入(…

大創項目推薦 卷積神經網絡手寫字符識別 - 深度學習

文章目錄 0 前言1 簡介2 LeNet-5 模型的介紹2.1 結構解析2.2 C1層2.3 S2層S2層和C3層連接 2.4 F6與C5層 3 寫數字識別算法模型的構建3.1 輸入層設計3.2 激活函數的選取3.3 卷積層設計3.4 降采樣層3.5 輸出層設計 4 網絡模型的總體結構5 部分實現代碼6 在線手寫識別7 最后 0 前言…