ネットワークトポロジー:
ここでは、 linuxhint-711ea AnsibleをインストールするUbuntu20.04LTSマシンです。
次に、ホストを構成します host1 (IPアドレス192.168.20.162)および host2 (IPアドレス192.168.20.153)Ansibleの自動化のために、Ansibleを使用してコマンドを実行します。 linuxhint-711ea マシーン。
私は単に電話します host1 と host2 この記事ではAnsibleホストとして。
Ansibleのインストール:
Ubuntuの公式パッケージリポジトリからUbuntu20.04LTSにAnsibleを簡単にインストールできます。
まず、次のコマンドを使用してAPTパッケージリポジトリキャッシュを更新します。
$sudoaptアップデート
APTパッケージリポジトリキャッシュを更新する必要があります。
次に、次のコマンドを使用してAnsibleをインストールします。
$sudoaptインストールansibleインストールを確認するには、を押します と 次にを押します 。
Ansibleをインストールする必要があります。
次に、次のコマンドを実行して、ansibleが正しく機能しているかどうかを確認します。
$ansible - バージョンご覧のとおり、ansibleコマンドが使用可能であり、正しく機能しています。
SSHキーの生成:
ここで、AnsibleをインストールしたコンピューターでSSHキーを生成する必要があります。
SSHキーを生成するには、次のコマンドを実行します。
$ssh-keygen今、を押します 。
押す 。
押す 。
SSHキーを生成する必要があります。
Ansible Automation用のUbuntuホストの構成:
このセクションでは、Ubuntuホストを構成する方法を紹介します( host1 )Ansibleオートメーション用。 Ansibleを使用して自動化するホストが複数ある場合は、各ホストで同じプロセスを繰り返します。
Ubuntu Ansibleホスト(Ansible自動化用に構成する)には、SSHサーバーパッケージがインストールされている必要があります。
まず、次のコマンドを使用してAPTパッケージリポジトリキャッシュを更新します。
$sudoaptアップデート次に、次のコマンドを使用してOpenSSHサーバーをインストールします。
$sudoaptインストールopenssh-server-と私の場合、OpenSSHサーバーパッケージはすでにインストールされています。ケースにインストールされていない場合は、インストールする必要があります。
次に、 sshd サービスは次のコマンドで実行されています:
$sudosystemctl status sshdご覧のとおり、 sshd サービスは アクティブ (実行中)および 有効 (システムの起動時に自動的に起動します)。
の場合 sshd サービスはありません アクティブ (実行中)この場合、次のコマンドを使用して手動で起動します。
$sudosystemctl start sshdの場合 sshd サービスはありません 有効 (システムスタートアップには追加されません)この場合、次のコマンドを使用して手動でシステムスタートアップに追加します。
$sudosystemctl有効sshd次に、次のコマンドを使用してSSHアクセスを許可するようにファイアウォールを構成します。
$sudoufw allowsshまた、を作成する必要があります ansible ユーザーとパスワードなしのsudoアクセスを許可します ansible ユーザー。
を作成するには ansible ユーザーは、次のコマンドを実行します。
$sudoadduser ansible次に、のパスワードを入力します ansible ユーザーとを押します 。
ここで、パスワードを再入力して、を押します。 。
今、を押します 。
今、を押します 。
今、を押します 。
今、を押します 。
今、を押します 。
ここで、入力します と 次にを押します 。
NS ansible ユーザーを作成する必要があります。
次に、パスワードなしのsudoアクセスを構成します。 ansible 次のコマンドを使用するユーザー:
$捨てた 'ansible ALL =(ALL)NOPASSWD:ALL' | sudo ティー /NS/sudoers.d/ansibleここで、AnsibleホストのIPアドレスを見つけます( host1 )次のコマンドを使用します。
$ホスト名 -私ここで、私の場合のIPアドレスは 192.168.20.162 。それはあなたにとって異なるでしょう。だから、今すぐあなたのフォームに置き換えてください。
ここで、Ansibleをインストールしたコンピューターから、SSH公開鍵をAnsibleホストにコピーします( host1 ) 次のように:
$ssh-copy-id ansible@192.168.20.162入力します はい を押して 。
次に、のパスワードを入力します ansible ユーザーとを押します 。
公開SSHキーはにコピーする必要があります host1 。
次に、パスワードベースのログインを無効にします。 ansible 次のコマンドを使用するユーザー:
$sudousermod-NSansible現在、AnsibleホストにSSHで接続することしかできません( host1 ) なので ansible SSH公開鍵をコピーしたコンピューター(この場合は、Ansibleをインストールしたコンピューター)からパスワードを持たないユーザー。ただし、AnsibleホストにSSHで接続することはできません( host1 ) なので ansible 他のコンピューターのユーザー。セキュリティ上の理由から、Ansibleホストをこのように構成しました。として ansible ユーザーは管理コマンドを実行するためにパスワードを必要としません。パスワードベースのログインを許可するのは危険です。 ansible ユーザー。
これで、ansibleホストにSSHで接続できるようになります。 host1 次のように、Ansibleをインストールしたコンピューターから:
$sshansible@192.168.20.162ご覧のとおり、Ansibleホストにアクセスできます( host1 )パスワードなしのansibleユーザーとして。したがって、Ansibleホスト( host1 )Ansibleオートメーションの準備ができています。
何らかの理由で、パスワードベースのログインを許可する場合 ansible ユーザーは、Ansibleホストで次のコマンドを再度実行します( host1 ):
$sudousermod-Uansible同じ方法で、Ansibleオートメーションに必要な数のホストを構成できます。
この記事では、2つのホストのみを構成しました。 host1 と host2 デモンストレーションのために。
Ansibleのテスト:
次に、新しいプロジェクトディレクトリを作成します 〜/ ansible-demo / 次のようにAnsibleをインストールしたコンピューターで:
$mkdir〜/ansible-デモ次に、に移動します 〜/ ansible-demo / 次のようなディレクトリ:
$CD〜/ansible-デモ/今、新しいを作成します ホスト 次のようにプロジェクトディレクトリにファイルします。
$ナノホスト次に、AnsibleホストのIPアドレスまたはDNS名を入力します( host1 と host2 私の場合) ホスト 次のようにファイルします。
192.168.20.162192.168.20.153
次に、を押してファイルを保存します + X に続く と その後 。
次に、Ansibleを使用してすべてのホストに次のようにpingを実行してみます。
$ansible all-私。/ホスト-uansible-NS pingノート: ここで、-uオプションは、AnsibleがホストにSSHで接続するために使用するユーザー名(この場合はansible)を指定するために使用されます。
ご覧のとおり、すべてのホストにpingを実行できます。したがって、ホストはAnsible自動化の準備ができています。
同様に、次のようにAnsibleを使用してホストで任意のコマンドを実行できます。
$ansible all-私。/ホスト-uansible-NSシェル-に 'エコー' $(ホスト名)-$(ホスト名-I) ''ご覧のとおり、コマンドは各ホストで正常に実行され、出力が表示されます。
つまり、これは、Ubuntu 20.04 LTSにAnsibleをインストールし、Ansible自動化のためにUbuntu 20.04LTSホストを構成する方法です。この記事を読んでくれてありがとう。