web-dev-qa-db-ja.com

優れた最新の並列SSHツールとは何ですか?

psshclustersshは2つの人気のあるものだと聞きましたが、ここでディスカッションを開いて、これらのツールを使用したコミュニティの体験を見てみましょう。落とし穴は何ですか?まともなハックやユースケースはありますか?

31
faultyserver

私はpsshを使用しましたが、それは簡単で非常にうまく機能します。クイッククエリに最適です。

サーバーを管理している場合は、PuppetやCFEngineなど、より堅牢で少し異なるレルム(構成管理)を使用することをお勧めします。

22
user7321

あなたが何をしたいのかを知ることは重要です。多くのサーバーで「apt-get update」を実行したい場合、clustersshは使いやすく効果的なツールであると報告されています。 Linux Journal にあるclustersshに関するカイルランキンの記事を参照してください。

異なるサーバーでの作業で論理ループが必要になる場合、各ホストとの書き込み、取得、またはその他の方法での対話(またはエラー条件のためにホストとの対話が必要になる可能性があります) Fabric (これはその1.0リリースを打つだけ)は非常に貴重です。 Pythonを使用している場合は、Fabricの使用を最も楽しむでしょう。

どちらの場合も、影響を受けるリモートサーバーでかなり単純なタスクを実行し、問題のあるホストに特別に立ち寄ることを期待しているでしょう。ただし、Fabricには、バリエーションを処理するためのより多くのオプションがあります。

一般的にうまく処理されない1つのことは、ゲートウェイHostの背後にある複数のホストを処理することです。最初にゲートウェイに接続し、次にそこからポート転送する必要があります。 ssh自体がこれを非常に簡単に行うため、.ssh/configファイルを次のように設定できます

Host gateway
    Port 9000
    User remoteadmin
    HostName datacentre1.com
    # mail
    LocalForward 9100 192.168.9.11:22
    # phones
    LocalForward 9101 192.168.9.12:22

Host dc1mail
    Port 9100
    Host 127.0.0.1
    User localadmin

Host dc1phones
    Port 9201
    Host 127.0.0.1
    User localadmin

ssh dc1mail 'cmd' && ssh dc1phones 'cmd'と同等の操作を行うには、最初にssh gatewayを呼び出す必要があります。 clustersshやFabricなどのツールで、これをツールの一部として実行できるようになっていると便利です。当然、これは自分で手動で行うことができます。

9
rorycl

SSHパワーツール (sshpt)は、ユーザーが事前共有SSHキーをセットアップする必要のない並列SSHなし用に設計されました。 psshやclustersshよりも優れており、Sudoを介した実行をサポートし、ファイルをコピーして後で実行することもできます(オプションで、Sudoを介して)。デフォルトでは結果をCSV形式で出力しますが、sshpt.pyはインポート可能なPythonモジュールとしても機能するため、独自のプログラムで使用できます(私はカスタムの背後のバックエンドとして使用していました-以前の雇用主で構築されたWebベースのレポートツール)。

5
Dan McDougall

Musshは良い代替手段であり、すでに多くのLinuxディストリビューションに含まれています。

Musshは、1つのコマンドで複数のホスト上のsshを介してコマンドまたはスクリプトを実行できるシェルスクリプトです。可能な場合、musshはssh-agentおよびRSA/DSAキーを使用して、パスワードを複数回入力する必要性を最小限に抑えます。

4
Juliano

私はcsshを使用し、それは魅力のように動作します。複数のサーバーで同じファイルを簡単に編集し、1つのウィンドウのみをチェックして、特定の変数のインスタンス値を変更できます。すべてのウィンドウでこれを繰り返し、vimとvoilaで:wqを押します。仕事が終わりました;)

また、aptitudeのアップグレードを行うための優れたツールです。

3
ahes

並列ssh実行のために dsh もあります。

3
hayalci

KDEのKonsoleとOS XのTerminal.appには、1つのコンソールまたはタブを、複数のタブ/ウィンドウ/セッションに入力を送信する「制御」端末にする機能もあります。

これまでは、pconsoleを使用してきました。

3
jtimberman

私のお気に入りの並列SSHツールは PuSSH ... IMO構文は他の利用可能な類似のパッケージよりも直感的で、RPMやコンパイルなどのインストールは実際には必要ありません。いくつかのスクリプトとしてダウンロードするだけで機能します。

2
Pete Best