Linux 批量給主機傳金鑰的指令碼

2021-10-23 14:22:57 字數 908 閱讀 7951

使用本指令碼需要在建立**/tmp/hosts**檔案,寫入所有主機資訊和密碼格式為hostname(ip) password

#!/bin/bash

#使用本指令碼需要在建立/tmp/hosts檔案,寫入所有主機資訊和密碼格式為 hostname password

rpm -qa|grep expect &>/dev/null

["$(

echo $?)

"!= "0"

] && yum -y install expect &>/dev/null && echo

"expect install successfully"||

echo

"expect already exists!"

num=`cat

/tmp/hosts | wc -l`

for i in `seq 1 $num`

do hostname=`sed -n "$p"

/tmp/hosts|awk ''`

passwd=`sed -n "$p"

/tmp/hosts|awk ''`

/usr/bin/expect spawn ssh-keygen

expect "/root/.ssh/id_rsa"

send "\n"

expect

"passphrase"

"again"

} spawn ssh-

copy

-id -i $hostname

expect

"password"

\n"}

} expect eof

eofdone

rm-rf /tmp/hosts

batchcmd批量操作linux主機

batchcmd原始碼 歡迎star 需要python3.0 如需要二進位制執行還需要安裝pyinstaller clone到本地,修改根目錄.cfg配置檔案,執行batchcmd.py clone到本地,安裝pyinstaller,執行 pyinstaller f batchcmd.py 會生成二...

Linux批量處理傳參

1.如何給shell指令碼傳引數 1 指令碼test.sh的內容如下 name 1 echo 如何給shell指令碼傳引數執行 test.sh zhang 命令,可以看到自己編寫指令碼的結果 zhang linux系統除了提供位置引數還提供內建引數,內建引數如下 傳遞給程式的總的引數數目 上乙個 或...

Linux多台主機批量命令指令碼

如果你只維護著1臺機器,這篇文章對你可能就沒啥用處了。如果你維護著大量的linux主機,就需要這樣乙個指令碼幫助你完成日常維護工作,指令碼很簡單,主要是提供乙個思路,其他功能的腳步都可以按照此指令碼的流程實現。1 首先你需要指定一台主機作為信任主機,這樣從這台主機登入其他機器就不需要密碼了。如何設定...