亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Shell腳本實現(xiàn)服務器多臺免密登錄操作

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

簡介

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

下載

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

特別說明(公司):

使用非root用戶需要創(chuàng)建用戶并添加root組,并且配置信任的sudo權限,可以使用命令實現(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):目標主機需為 RHEL/CentOS 7 系統(tǒng)(因依賴 sshpass-1.06-2.el7.x86_64.rpm)。
  • 權限要求
    • 執(zhí)行腳本的主機需具有root權限以安裝 sshpass。
    • 所有目標主機的SSH服務已啟動,且防火墻允許SSH端口(默認22)通信。
    • 所有主機用戶名密碼一致(免密完成后需改密碼不影響免密)

文件準備:確保以下文件及目錄結構存在:

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

配置文件格式

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

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 鏈接端口,默認 22 

放置依賴文件

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

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

sudo chmod +x auto_ssh_batch.sh 
sudo sh auto_ssh_batch.sh
# 腳本運行結束后使用ssh驗證
# 默認ssh端口
ssh username@ip
# 指定ssh端口
ssh -p xx username@ip

-------------------------腳本使用到此結束--------------------

腳本執(zhí)行流程

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

注意事項

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

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

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

相關文章

最新評論