
私はWindows管理チームから来ており、Linux(Debian)についてもっと知りたいです。オンラインで検索しても答えが見つからない最も緊急な質問の1つは次のとおりです。 Windows用PowerShellのように、いわゆる「一対多」リモートを実装する方法は?
これを基本に分類すると、次のようになります。
Linuxについての私の考え:
- サーバーにSSHを介して接続し、コマンドを入力できます。
- 私は結果を得た。 10のサーバー環境の場合、各サーバーにコマンドを送信するには(perl / python?)スクリプトを作成する必要がありますか?
Windowsでの私の経験:
コマンドを入力してから、「呼び出しコマンド」を使用して複数のサーバー(おそらくテキストファイルから)に「送信」して同時に実行し、結果を取得できます(追加操作用のオブジェクトとして)。
バックグラウンドで接続を維持しながら複数のセッションを確立し、必要に応じてリモート入力と出力を介してそのセッションにオプションでコマンドを送信することもできます。
(シェフ、人形などを聞いたことがありますか?)
Update 2019:
多くの試みの終わりに - お勧めしますレックス(望むより次のコメント) - 設定が簡単で(実際にはsshだけが必要で他は必要ありません)、使用が簡単です(少し知っている場合)。真珠良いですが、オプションです
。)レックスあなたはできますアドホック命令を出して現実に進む構成管理(…意味:何よりもCMですが一時的な作業にも適しています。) ウェブサイトは古いようですが、現在(2019年1月現在)活発に開発されており、IRCチャンネルも活性化されています。
新しいWindowsでSSHを開くもっと可能性があります
あなたは試すことができます:
rex -u user -p password -H 192.168.1.3 -e 'say run "hostname"'
答え1
一般化する
- AnsibleはDevOpsツールであり、PowerShellの強力な代替手段です。
- RunDeckはグラフィカルインターフェイスとして非常に便利です。
- 一部の人はRunDeck + Ansibleを一緒に実行します。
クラスター
初心者の場合は、複数のサーバーにリモートコマンドを送信するには、次のことをお勧めします。クラスター
clusterssh
Debian にインストールするには:
apt-get install clusterssh
その他クラスター時のチュートリアル:
ClusterSSHは、XTermやSSHなどの標準Linuxツール用のTk / Perlラッパーです。したがって、ライブラリが存在するほとんどすべてのPOSIX準拠のオペレーティングシステムで実行されます。私はLinux、Solaris、およびMac OS Xで実行しました。 xtermとOpenSSHとX11 :: Protocol(DebianまたはUbuntuのlibx11-protocol-perl)に加えて、PerlライブラリTk(DebianまたはUbuntuのperl-tk)が必要です。
アンシプール
マルチシステム管理用のリモートフレームワークの場合、アンシプールPuppetのための非常に興味深い選択肢です。より簡素化され、SSHを介して動作するため、専用のリモートエージェントは必要ありません(RedHatでも取得)。
プレイブックはコマンドラインオプションよりも冗長です。
ただし、Ansibleを使用するには簡単なインストールを実行し、クライアントリストのテキストファイルを設定する必要があります。
その後、すべてのサーバーでコマンドを実行するには、次のように簡単です。
ansible all -m command -a "uptime"
出力の形式も非常によく指定されており、ルール/サーバー別に区切られており、バックグラウンドで実行中にファイルにリダイレクトされ、後で参照できます。
簡単なルールで始めることができ、Linuxで成長し、インフラストラクチャが大きくなると、Ansibleを使用する方が興味深くなります。したがって、PowerShellよりも多くの機能を実行します。
たとえば、私はLinuxサーバーをアップグレードするための非常にシンプルなプレイブックを作成しました。
---
- hosts: all
become: yes
gather_facts: False
tasks:
- name: updates a server
apt: update_cache=yes
- name: upgrade a server
apt: upgrade=full
また、包括的な戦略を簡単に作成できる多くのモジュールを定義します。
また、コミュニティが開発した堅牢なポリシーを検索するための興味深い公式ハブ/「ソーシャル」ストレージネットワークもあります。アンサーブルギャラクシー
Ansibleも広く使用されており、私のプロジェクトのようにgithubで多くのプロジェクトを見つけることができます。FreeRadiusの設定。
Ansibleは無料のオープンソースフレームワークですが、有料のWebパネルインターフェースもあります。アンシプルタところで、ライセンス料はかなり高価です。
RedHatが買収した後、towerには次のオープンソースバージョンもあります。AWX。
ボーナスとしてAnsibleはWindowsサーバーも管理できますが、私は使ったことがありません。
また、ネットワークデバイス(ルーター、スイッチ、ファイアウォール)を管理する機能もあり、非常に興味深い自動化ターンキーソリューションです。
レンドケ
もう一度申し上げますが、使いやすく、Ansibleほど強力ではないリモートフレームワークについては、次のことをお勧めします。レンドケ。
これは、多くの一般的な日常業務を自動化し、システムオペレーターまたはヘルプデスクの従業員に簡単なビューを提供できる、非常に強力なマルチユーザー/ログイングラフィックインターフェースです。
コマンドを実行すると、サーバー/タスクごとに分類された出力ウィンドウも表示されます。
バックグラウンドで複数のタスクをスムーズに実行し、後でレポートと出力を表示できます。
何人かの人々はWebインターフェイスとしてAnsible + RunDeckを実行します。すべての場合にこれに適しているわけではありません。
Ansibleおよび/またはRunDeckを使用することは、インフラストラクチャ文書の形式または一部として解釈することができ、操作/レシピ/プレイブックは時間の経過とともに複製および改善されることは言うまでもありません。
最後に、中央コマンドサーバーについて話したら、このタスク専用サーバーを作成します。実際、技術用語はボックスジャンプです。正しく設定すると、「ボックスジャンプ」でセキュリティが向上する可能性があります。。
答え2
答え3
ホストリストに接続し、すべてのホストで並列にコマンドを実行するSSHクライアントpssh
(または)を使用することもできます。parallel-ssh
$ parallel-ssh -i -H "host1 host2" uname -a
[1] 11:37:12 [SUCCESS] host2
Linux host2 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[2] 11:37:12 [SUCCESS] host1
Linux host1 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
答え4
KDEを使用する場合は、別の方法があります。
- Konsoleウィンドウを開きます。
通信する各サーバーについて:
- タブを開く
- サーバーへのSSH接続設定の編集
メニューから、すべてのタブに入力をコピーを選択します。
このタブに入力するすべてのコマンドは、すべてのサーバーにコピーされます。
あるタブから別のタブに切り替えて、別の結果を表示できます。
注:私はKDE英語版を使用していないので、私のメニューラベル(引用符を含む)が間違っている可能性があります。