web-dev-qa-db-ja.com

MacOSXからSSHを使用して複数のサーバーで同じコマンドを実行する

MacOSXからSSHを使用して複数のサーバーで同じコマンドを実行するプログラムはありますか?

8
pupeno

私は csshX を使用してしまいました:

alt text

2
pupeno

iTerm2はそれを行うことができます。サーバーごとに1つのブックマークを作成し、各ブックマークのコマンドをsshに設定します。次に、「入力をすべてのタブに送信する」機能を使用します。ブックマークウィンドウ(cmd-m)を使用して、一度に複数のブックマークを開くことができます。 https://iterm2.com/index.html

9
user66808

tmux-cssh 試す価値があります:

brew install tmux-cssh
tmux-cssh -u user Host1 Host2 Host3 Host4 Host5

2019-12-19アップデート

コメントで述べたように、tmux-csshは自作からインストールできなくなりました。とにかく、それは実際には比較的単純なシェルスクリプトであり、ここから取得できます。

https://raw.githubusercontent.com/peikk0/tmux-cssh/master/tmux-cssh

curl -O https://raw.githubusercontent.com/peikk0/tmux-cssh/master/tmux-cssh
chmod 755 tmux-cssh
./tmux-cssh -u user Host1 Host2 Host3 Host4 Host5

tiled view of simultaneous ssh connections to 5 hosts in tmux-cssh

4
sideshowbarker

ClusterSSH を見てください。私はこれをOSX 10.5ワークステーションから大きな効果を上げるために使用しましたが、10.6から正しく動作することを確認できません。私はそれがうまくいくはずだと強く思っています。

3
Scott Pack

これを行うためのツールがいくつかあります。一例は Parallel SSH です。 macosのソースからコンパイルする必要があるように見えますが、出発点として適切なはずです。

この linux.comの記事 は、psshがどのように機能するかを詳しく説明しています。また、そのストーリーへのコメントは Capistrano のような他の選択肢をカバーしています。以前はこの目的のためにTentakelを使用していましたが、そのプロジェクトは死んでしまったようです。

並列sshツールを使用して自動化する可能性のあるタスクの多くは、 puppet または chef または cfengine

2
Phil Hollenback

ITermでこれができると思います(iterm.sf.net)

0
jj33

Sshマルチプレクサはいくつでも使用できます。たとえば、dsh(dancer Shell)、pdshなどです。 MacPortsを確認してください。

または、おそらくもっと簡単に:x for $(cat hosts.txt); ssh $ xを実行します。できた

シェフのナイフ、Capistrano、func、helmなど、より複雑なものも存在します。

0
bdha