欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Shell腳本實(shí)現(xiàn)服務(wù)器多臺(tái)免密登錄操作

 更新時(shí)間:2025年03月20日 08:53:59   作者:樵夫  
本文介紹了auto_ssh_batch.sh腳本,用于在多臺(tái)RHEL/CentOS7主機(jī)之間快速配置SSH免密登錄,并支持遠(yuǎn)程傳輸腳本/文件及執(zhí)行命令,腳本通過pass文件提供統(tǒng)一認(rèn)證憑據(jù),nodes文件定義目標(biāo)主機(jī)列表,實(shí)現(xiàn)批量自動(dòng)化操作,感興趣的朋友一起看看吧

簡(jiǎn)介

本腳本(auto_ssh_batch.sh)用于在多臺(tái)主機(jī)之間快速配置SSH免密登錄,并支持遠(yuǎn)程傳輸腳本/文件及執(zhí)行命令。通過 pass 文件提供統(tǒng)一認(rèn)證憑據(jù),通過 nodes 文件定義目標(biāo)主機(jī)列表,實(shí)現(xiàn)批量自動(dòng)化操作。

下載

git clone https://gitee.com/wesley_li0/NoPassword.git

特別說明(公司):

使用非root用戶需要?jiǎng)?chuàng)建用戶并添加root組,并且配置信任的sudo權(quán)限,可以使用命令實(shí)現(xiàn)

USER : 用戶名

PASSWORD:密碼

USER=your_user && PASSWORD=your_password && useradd -m -G root -s /bin/bash "$USER" && echo "$USER:$PASSWORD" | chpasswd && echo "$USER ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/$USER

前提條件

  • 操作系統(tǒng):目標(biāo)主機(jī)需為 RHEL/CentOS 7 系統(tǒng)(因依賴 sshpass-1.06-2.el7.x86_64.rpm)。
  • 權(quán)限要求
    • 執(zhí)行腳本的主機(jī)需具有root權(quán)限以安裝 sshpass。
    • 所有目標(biāo)主機(jī)的SSH服務(wù)已啟動(dòng),且防火墻允許SSH端口(默認(rèn)22)通信。
    • 所有主機(jī)用戶名密碼一致(免密完成后需改密碼不影響免密)

文件準(zhǔn)備:確保以下文件及目錄結(jié)構(gòu)存在:

/root/NoPassword/             # 腳本存放與用戶家目錄下
├── auto_ssh_batch.sh         # 主執(zhí)行腳本
├── bin
│   └── generate_ssh_key.sh   # 待分發(fā)的遠(yuǎn)程執(zhí)行腳本
├── config
│   └── nodes                 # 存儲(chǔ)目標(biāo)主機(jī)IP和節(jié)點(diǎn)ID
└── main
    └── sshpass-1.06-2.el7.x86_64.rpm  # sshpass安裝包

配置文件格式

**nodes**** 文件**
每行定義一個(gè)目標(biāo)主機(jī)的IP和節(jié)點(diǎn)ID (ID盡量與后續(xù)集群自動(dòng)化腳本ID一致,若無執(zhí)行集群腳本需求,ID自定義,僅作為輸出機(jī)器標(biāo)識(shí)使用),空格分隔:

IP_Address Node_ID User Password

示例:

192.168.1.10 1 root root123
192.168.1.11 2 root root123

腳本使用方法

SSH自定義端口

- SSH 端口指定,修改 `auto_ssh_batch.sh` 腳本中的`SSH_PORT`變量
- `SSH_PORT` 該變量用于指定 SSH 鏈接端口,默認(rèn) 22 

放置依賴文件

- 將 `sshpass` 的 RPM 包放入 `main/` 目錄(默認(rèn)已存在)。
- 確保 `generate_ssh_key.sh` 腳本位于 `bin/` 目錄。

賦予執(zhí)行權(quán)限,并執(zhí)行腳本

sudo chmod +x auto_ssh_batch.sh 
sudo sh auto_ssh_batch.sh
# 腳本運(yùn)行結(jié)束后使用ssh驗(yàn)證
# 默認(rèn)ssh端口
ssh username@ip
# 指定ssh端口
ssh -p xx username@ip

-------------------------腳本使用到此結(jié)束--------------------

腳本執(zhí)行流程

  • 文件檢查驗(yàn)證 config/pass 和 config/nodes 是否存在,格式是否正確。
  • 初始化環(huán)境
    • 生成本地SSH密鑰對(duì)(如不存在)。
    • 安裝 sshpass(若未安裝)。
  • 批量操作遍歷 nodes 文件中的每個(gè)IP:
    • 分發(fā)公鑰:使用 sshpass 將公鑰復(fù)制到目標(biāo)主機(jī),實(shí)現(xiàn)免密登錄。
    • 傳輸文件:將 generate_ssh_key.sh、pass、nodessshpass 上傳到目標(biāo)主機(jī)的 /tmp。
    • 遠(yuǎn)程執(zhí)行:在目標(biāo)主機(jī)上運(yùn)行 generate_ssh_key.sh

注意事項(xiàng)

  • 安全性警告
    • nodes 文件中密碼以明文存儲(chǔ),建議僅在受信任環(huán)境使用。
    • 腳本使用 -o StrictHostKeyChecking=no,自動(dòng)信任主機(jī)密鑰,可能存在中間人攻擊風(fēng)險(xiǎn)。
  • 錯(cuò)誤處理
    • 若某主機(jī)公鑰分發(fā)失敗,腳本會(huì)跳過該主機(jī)繼續(xù)執(zhí)行。
    • 傳輸文件或遠(yuǎn)程命令失敗時(shí),查看錯(cuò)誤輸出并檢查網(wǎng)絡(luò)連通性。
  • 日志輸出執(zhí)行過程中會(huì)顯示詳細(xì)日志,包括成功/失敗的主機(jī)IP及操作狀態(tài)。

通過以上步驟,您可快速完成多主機(jī)SSH免密登錄配置及批量遠(yuǎn)程操作。

到此這篇關(guān)于Shell腳本實(shí)現(xiàn)服務(wù)器多臺(tái)免密的文章就介紹到這了,更多相關(guān)Shell服務(wù)器多臺(tái)免密內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論