步驟一:准備工作 1)安裝軟件包 [root@proxy ~]# rpm -ivh pssh-2.3.1-5.el7.noarch.rpm 2)修改/etc/hosts本地解析文件 [root@proxy ~]# cat /etc/hosts … … 192.168.2.100 host1 192.168.2.200 host2 192.168.4.10 host3 … … 3)創建主機列表文件 [root@proxy ~]# cat /root/host.txt //每行一個用戶名、IP或域名 … … root@host1 host2 host3 … … 步驟二:使用密碼批量、多並發遠程其他主機 1)語法格式 [root@proxy ~]# man pssh //通過man幫助查看工具選項的作用 pssh提供並發遠程連接功能 -A 使用密碼遠程其他主機(默認使用密鑰) -i 將輸出顯示在屏幕 -H 設置需要連接的主機 -h 設置主機列表文件 -p 設置並發數量 -t 設置超時時間 -o dir 設置標准輸出信息保存的目錄 -e dir 設置錯誤輸出信息保存的目錄 -x 傳遞參數給ssh 2)使用密碼遠程多台主機執行命令,屏幕顯示標准和錯誤輸出信息 [root@proxy ~]# pssh -i -A -H 'host1 host2 host3' \ > -x '-o StrictHostKeyChecking=no' echo hello 3)使用密碼遠程多台主機執行命令,不顯示標准和錯誤輸出信息,通過讀取host.txt讀取主機信息 [root@proxy ~]# pssh -A -h host.txt echo hello 步驟三:使用密鑰批量、多並發遠程其他主機 1)生成密鑰並發送密鑰到其他主機 [root@proxy ~]# ssh-keygen -N '' -f /root/.ssh/id_rsa //非交互生成密鑰文件 [root@proxy ~]# ssh-copy-id host1 [root@proxy ~]# ssh-copy-id host2 [root@proxy ~]# ssh-copy-id host3 2)使用密鑰遠程其他主機 [root@proxy ~]# pssh -h host.txt echo hello 3)使用密鑰遠程其他主機,將標准輸出信息寫入到/tmp目錄 [root@proxy ~]# pssh -h host.txt -o /tmp/ echo hello 步驟四:批量、多並發拷貝數據到其他主機 1)語法格式 [root@proxy ~]# man pscp.pssh //通過man幫助查看工具選項的作用 pscp.pssh提供並發拷貝文件功能 -r 遞歸拷貝目錄 其他選項基本與pssh一致 2)將本地的/etc/hosts拷貝到遠程主機的/tmp目錄下 [root@proxy ~]# pscp.pssh -h host.txt /etc/hosts / tmp 3)遞歸將本地的/etc目錄拷貝到遠程主機的/tmp目錄下 [root@proxy ~]# pscp.pssh -r -h host.txt /etc /tmp 步驟五:批量、多並發從其他主機下載數據到本機 1)語法格式 [root@proxy ~]# man pslurp //通過man幫助查看工具選項的作用 pslurp提供遠程下載功能 選項與pscp.pssh基本一致 2)將遠程主機的/etc/passwd,拷貝到當前目錄下,存放在對應IP下的pass文件中 [root@proxy ~]# pslurp -h host.txt /etc/passwd /pass 注意:最后的pass是文件名 3)將遠程主機的/etc/passwd目錄,拷貝到media下,存放在對應IP下的pass文件 [root@proxy ~]# pslurp -h host.txt -L /media /etc/passwd /pass 步驟六:批量、多並發殺死其他主機的進程 1)語法格式 [root@proxy ~]# man pnuke //通過man幫助查看工具選項的作用 pnuke提供遠程殺死進程的功能 選項與pssh基本一致 2)將遠程主機上的sleep進程殺死 [root@proxy ~]# pnuke -h host.txt sleep 3)將遠程主機上的test相關腳本都殺死(如:test1,testtt,test2等等) [root@proxy ~]# pnuke -h host.txt test 4)將遠程主機上的test.sh腳本殺死 [root@proxy ~]# pnuke -h host.txt test.sh