Ubuntu 20.04LTSにAnsibleをインストールする方法

How Install Ansible Ubuntu 20



この記事では、Ubuntu 20.04 LTSにAnsibleをインストールし、Ansible自動化のためにUbuntu 20.04LTSホストを構成する方法を紹介します。それでは、始めましょう。

ネットワークトポロジー:







ここでは、 linuxhint-711ea AnsibleをインストールするUbuntu20.04LTSマシンです。



次に、ホストを構成します host1 (IPアドレス192.168.20.162)および host2 (IPアドレス192.168.20.153)Ansibleの自動化のために、Ansibleを使用してコマンドを実行します。 linuxhint-711ea マシーン。



私は単に電話します host1host2 この記事では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つのホストのみを構成しました。 host1host2 デモンストレーションのために。

Ansibleのテスト:

次に、新しいプロジェクトディレクトリを作成します 〜/ ansible-demo / 次のようにAnsibleをインストールしたコンピューターで:

$mkdir/ansible-デモ

次に、に移動します 〜/ ansible-demo / 次のようなディレクトリ:

$CD/ansible-デモ/

今、新しいを作成します ホスト 次のようにプロジェクトディレクトリにファイルします。

$ナノホスト

次に、AnsibleホストのIPアドレスまたはDNS名を入力します( host1host2 私の場合) ホスト 次のようにファイルします。

192.168.20.162
192.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ホストを構成する方法です。この記事を読んでくれてありがとう。