pssh
(Parallel SSH)是一個(gè)用于在多臺(tái)遠(yuǎn)程計(jì)算機(jī)上并行執(zhí)行SSH命令的工具
在Debian/Ubuntu系統(tǒng)上,可以使用以下命令安裝:
sudo apt-get install pssh
在CentOS/RHEL系統(tǒng)上,可以使用以下命令安裝:
sudo yum install pssh
要在多臺(tái)主機(jī)上運(yùn)行單個(gè)命令,可以使用-h
選項(xiàng)指定主機(jī)文件。例如,如果有一個(gè)名為hosts.txt
的文件,其中包含要連接到的主機(jī)列表,可以使用以下命令:
pssh -h hosts.txt -l username -A 'command'
這里,-l
選項(xiàng)用于指定登錄用戶名,-A
選項(xiàng)用于提示輸入密碼。
要在多臺(tái)主機(jī)上運(yùn)行多個(gè)命令,可以創(chuàng)建一個(gè)包含命令列表的文件,然后使用-i
選項(xiàng)指定該文件。例如,如果有一個(gè)名為commands.txt
的文件,其中包含要運(yùn)行的命令列表,可以使用以下命令:
pssh -h hosts.txt -l username -A -i commands.txt
默認(rèn)情況下,pssh
會(huì)在所有主機(jī)上同時(shí)運(yùn)行命令。要限制并發(fā)數(shù)量,可以使用-p
選項(xiàng)。例如,要將并發(fā)數(shù)量限制為10,可以使用以下命令:
pssh -h hosts.txt -l username -A -p 10 'command'
要設(shè)置命令執(zhí)行的超時(shí)時(shí)間(以秒為單位),可以使用-t
選項(xiàng)。例如,要將超時(shí)時(shí)間設(shè)置為60秒,可以使用以下命令:
pssh -h hosts.txt -l username -A -t 60 'command'
要將輸出保存到文件,可以使用-o
選項(xiàng)。例如,要將輸出保存到名為output.txt
的文件,可以使用以下命令:
pssh -h hosts.txt -l username -A -o output.txt 'command'
要將錯(cuò)誤輸出保存到文件,可以使用-e
選項(xiàng)。例如,要將錯(cuò)誤輸出保存到名為error.txt
的文件,可以使用以下命令:
pssh -h hosts.txt -l username -A -e error.txt 'command'
要使用SSH密鑰進(jìn)行身份驗(yàn)證,可以使用-i
選項(xiàng)指定密鑰文件。例如,要使用名為id_rsa
的密鑰文件,可以使用以下命令:
pssh -h hosts.txt -l username -i /path/to/id_rsa 'command'
要向ssh
命令傳遞額外的選項(xiàng),可以使用-O
選項(xiàng)。例如,要禁用StrictHostKeyChecking,可以使用以下命令:
pssh -h hosts.txt -l username -A -O StrictHostKeyChecking=no 'command'
要使用自定義端口進(jìn)行SSH連接,可以使用-p
選項(xiàng)指定端口號(hào)。例如,要使用端口2222,可以使用以下命令:
pssh -h hosts.txt -l username -A -p 2222 'command'
更多關(guān)于pssh
的信息和選項(xiàng),請(qǐng)參閱官方文檔:https://linux.die.net/man/1/pssh