OpenSSH : Parallel SSH を利用する2021/07/19 |
MPSSH (Mass Parallel Secure Shell) を使用して、SSH サーバーが稼働する複数ホストに対して並列で SSH 接続します。
|
|
[1] | MPSSH をインストールします。 |
# EPEL からインストール [root@dlp ~]# dnf --enablerepo=epel -y install mpssh
|
[2] | MPSSH の使い方です。 各対象サーバーに対して、パスフレーズ無し鍵ペアで認証可能であることを前提とします。 パスフレーズ付き鍵ペア認証の場合は 事前に SSH-Agent を起動してパスフレーズをセットしておけば、以下と同様の操作で利用可能です。 |
node01.srv.world
node02.srv.world # 設定したホストに対して [uname] コマンドを実行 [rocky@dlp ~]$ mpssh -f ssh_targets "uname -a" MPSSH - Mass Parallel Ssh Ver.1.3.3 [*] read (2) hosts from the list [*] executing "uname -a" as user "rocky" [*] spawning 2 parallel ssh sessions node01.srv.world -> Linux node01.srv.world 4.18.0-305.3.1.el8_4.x86_64 #1 SMP Wed Jul 5 02:00:39 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux node02.srv.world -> Linux node02.srv.world 4.18.0-305.3.1.el8_4.x86_64 #1 SMP Wed Jul 5 02:00:39 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux Done. 2 hosts processed. # ホスト毎に結果をファイルに書き出す [rocky@dlp ~]$ mpssh -b -o ./output -f ssh_targets "cat /etc/passwd" MPSSH - Mass Parallel Ssh Ver.1.3.3 [*] read (2) hosts from the list [*] executing "cat /etc/passwd" as user "rocky" [*] blind mode enabled [*] using output directory : ./output [*] spawning 2 parallel ssh sessions Done. 2 hosts processed.[rocky@dlp ~]$ ll ./output total 8 -rw-r--r--. 1 rocky rocky 1236 Jul 13 15:04 rocky@node01.srv.world.out -rw-r--r--. 1 rocky rocky 1183 Jul 13 15:04 rocky@node02.srv.world.out[rocky@dlp ~]$ cat ./output/rocky@node01.srv.world.out root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin ..... ..... |
Sponsored Link |