![SSHを介して複数のサーバーで同様のコマンドを自動的に実行する方法は? [コピー]](https://linux33.com/image/112054/SSH%E3%82%92%E4%BB%8B%E3%81%97%E3%81%A6%E8%A4%87%E6%95%B0%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%A7%E5%90%8C%E6%A7%98%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E8%87%AA%E5%8B%95%E7%9A%84%E3%81%AB%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
パスワードを使用してSSH経由で接続できるサーバーが多数あります。 1つだけ接続したら、root@IPアドレスでSSH経由で接続します。その後、パスワードの入力を求められ、認証が完了したらそこからコマンドを実行できます。
同じサーバーが複数あり、各サーバーで同じコマンドを実行するにはどうすればよいですか? 1つまたは2つのコマンドでこれをどのように実行できますか?
答え1
次の設定ツールが必要なようです。アンシプール、塩の山、シェフまたは人形。
Ansibleはあなたが望むものと非常によく似ています。ローカルで実行した後、SSHを介してリモートサーバーに接続してコマンドを実行できます(上記の他の製品と同様に、リモートサーバーにエージェントをインストールする必要はありません)。たとえば、サーバーのリストがある場合は、すべてのサーバーで特定のコマンドを実行して実行/etc/ansible/hosts
できます。ansible all -a "/bin/echo hello"
完全なガイドここ。
ただし、他にも便利なコマンドで構成されたプレイブックの作成を開始すると、後でホストでそのコマンドを再実行してインフラストラクチャ管理を自動化できます。
または、次のコマンドを使用できます。パフパフバッチコマンドを並列に実行する場合、または以下を使用する場合同期ウィンドウtmuxの機能は、複数のホストで対話型でコマンドを実行することです。
答え2
- 複数のホストで同じコマンドを実行する
すべてのサーバーが同じで、各サーバーで同じ>コマンドを実行するにはどうすればよいですか? 1つまたは2つのコマンドでこれをどのように実行できますか?
ホスト名をパラメータとして取得するスクリプトを実行し、パラメータのホスト名を使用して同じコマンドを実行できます。
- SSH経由で複数のサーバーに接続する
SSH通信にパスワードが必要ないように、SSH鍵ペアを使用することをお勧めします。
バラよりこの回答
答え3
あなたはそれを使用することができますMobaXtremSSHクライアントとしてMultiExec機能があり、開いているすべての端末で同じコマンドを実行できます。