pssh
(Parallel SSH)是一個用于并行執(zhí)行SSH命令的工具,可以在多臺遠(yuǎn)程主機(jī)上同時運(yùn)行命令
使用-h
選項(xiàng)指定主機(jī)列表文件:
pssh -h host_list.txt -i -l username "command"
其中,host_list.txt
包含一個主機(jī)列表,每行一個主機(jī)名或IP地址。-i
表示交互式輸出,-l
指定登錄用戶名。
使用-P
選項(xiàng)設(shè)置并發(fā)數(shù)量:
pssh -h host_list.txt -P 5 -i -l username "command"
其中,-P
選項(xiàng)后面的數(shù)字表示并發(fā)連接數(shù)。這對于控制大量主機(jī)的并發(fā)操作非常有用。
使用-o
和-e
選項(xiàng)將標(biāo)準(zhǔn)輸出和錯誤輸出重定向到文件:
pssh -h host_list.txt -o output.txt -e error.txt -i -l username "command"
這樣可以方便地收集所有主機(jī)的輸出結(jié)果。
使用-t
選項(xiàng)設(shè)置超時時間:
pssh -h host_list.txt -t 60 -i -l username "command"
其中,-t
選項(xiàng)后面的數(shù)字表示超時時間(單位為秒)。這對于處理執(zhí)行時間較長的命令非常有用。
使用-A
選項(xiàng)進(jìn)行密碼認(rèn)證:
pssh -h host_list.txt -A -i -l username "command"
如果你的SSH密鑰沒有設(shè)置密碼保護(hù),可以使用此選項(xiàng)。注意,這種方法不安全,因?yàn)槊艽a可能會被記錄到歷史記錄或日志中。
使用-x
選項(xiàng)傳遞額外的SSH選項(xiàng):
pssh -h host_list.txt -x "-p 2222" -i -l username "command"
其中,-x
選項(xiàng)后面的參數(shù)將直接傳遞給SSH命令。這對于指定非默認(rèn)端口、禁用HostKey檢查等操作非常有用。
使用-O
選項(xiàng)設(shè)置SSH連接選項(xiàng):
pssh -h host_list.txt -O "StrictHostKeyChecking=no" -i -l username "command"
其中,-O
選項(xiàng)后面的參數(shù)將作為SSH配置選項(xiàng)。這對于禁用HostKey檢查等操作非常有用。
使用-X
選項(xiàng)禁用批量執(zhí)行:
pssh -h host_list.txt -X -i -l username "command"
這將按順序逐個執(zhí)行命令,而不是并行執(zhí)行。這對于需要按順序執(zhí)行的任務(wù)非常有用。
使用-g
選項(xiàng)指定一組主機(jī):
pssh -g 1-10,20 -i -l username "command"
其中,-g
選項(xiàng)后面的參數(shù)表示主機(jī)編號范圍。這對于在特定子集上執(zhí)行命令非常有用。
使用-z
選項(xiàng)禁用SSH壓縮:
pssh -h host_list.txt -z -i -l username "command"
這將禁用SSH壓縮功能,可能會提高性能,但也可能導(dǎo)致更高的網(wǎng)絡(luò)帶寬消耗。
通過這些高級應(yīng)用技巧,你可以更有效地使用pssh
來管理和維護(hù)大量的Linux主機(jī)。