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