一鍵批量分發公鑰的方法

2021-09-29 04:04:40 字數 1929 閱讀 5097

1.利用指令碼的方式實現批量分發公鑰

#首先我們要進行分析實現遠端分發的步驟

#遠端分發金鑰是基於ssh遠端連線的,那麼根據ssh連線的原理我們就會得出這樣的結論

#第一服務端會向請求端傳送確認訊息,那麼就會引申出乙個問題,利用指令碼實現的話我們是不可能採用互動的方式的

#所以相應的解決辦法就是 -o stricthostkeychecking=no 這條命令意思就是無論服務端傳送什麼確認訊息我都moren

#第二就是當我們在建立ssh遠端分發金鑰時,要輸入服務端的密碼

#這時我們的解決辦法就是 yun install -y sshpass

#sshpass -p(密碼) 這樣在執行就指令碼命令時就不用再次輸入密碼了

#具體命令如下

sshpass -p(mima) ssh-copy-id -i ~/.ssh/id_dsa.pub root@主機位址 -o stricthostkeychecking=no

##指令碼如下

#!/bin/bush 

. /etc/init.d/functions ##呼叫這個檔案

for ip in ##簡單示範具體多少台據情況而定

do##前提是密碼統一的情況

sshpass -p123456 ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected].$ip -o stricthostkeychecking=no &>/dev/null

if [ $? -eq 0 ]

then

action "主機172.16.1.$ip [分發成功]" /bin/true

else

action "主機172.16.1.$ip [分發失敗] " /bin/false

fidone

2.同樣是批量分發但是埠不同且密碼不相同

#假設這個文字hostname_port.txt

#文字中檔案內容如下

172.16.1.41 52112 123456

172.16.1.31 52113 654321

#這時我們要想到三劍客命令中的awk命令

ip_info=$(echo $line|awk '')

#這裡要說明埠號取出方式和密碼方式一樣

#對了!這裡有乙個while迴圈

while read line #這條語句就是前面讀到資料賦予給line這個變數

##指令碼執行如下

#!/bin/bush 

. /etc/init.d/functions ##對這個檔案進行呼叫

cat /server/scripts/hostname_port.txt|\

while read line

do##這一步就是進行賦值過程

ip=`echo $line|awk ''`

port=`echo $line|awk ''`

password=`echo $line|awk ''`

sshpass -p$password ssh-copy-id -i ~/.ssh/id_dsa.pub root@$ip -o stricthostkeychecking=no -p$port &>/dev/null

if [ $? -eq 0 ] ##$? 代表如果前面的命令執行成功的話,那麼$?=0

Python一鍵搞定批量合成PDF

首先匯入需要的庫和路徑設定 import os from pypdf2 import pdffilereader,pdffilewriter if name main 設定存放多個pdf檔案的資料夾 dir path r c scientific research knowladge ophthal...

Linux一鍵分發檔案 應用等

微服務環境部署時,幾十台機器需要部署系統,編寫檔案傳輸指令碼如下.預設讀取同級目錄下的data list.conf 傳輸配置檔案 linux需要安裝依賴軟體tcl expect.bin bash data list data list.conf if 1 then data list 1 fiech...

一鍵批量刪除回車(換行符)

一鍵批量刪除回車 換行符 word巨集 天那邊的雨 方法 新建乙個巨集 在 視窗中輸入以下命令 sub 刪除回車 刪除選中部分的回車 macro selection.find.clearformatting selection.find.replacement.clearformatting wit...