{"id":2085,"date":"2017-10-24T07:14:33","date_gmt":"2017-10-24T03:44:33","guid":{"rendered":"http:\/\/webide.ir\/blog\/?p=2085"},"modified":"2017-10-24T07:14:33","modified_gmt":"2017-10-24T03:44:33","slug":"%da%86%da%af%d9%88%d9%86%d9%87-%d8%a2%d8%ae%d8%b1%db%8c%d9%86-%d9%86%d8%b3%d8%ae%d9%87-%d8%a7%d8%b2-ansible-%d8%b1%d8%a7-%d8%a8%d8%b1-%d8%b1%d9%88%db%8c-%d8%a7%d9%88%d8%a8%d9%88%d9%86%d8%aa%d9%88","status":"publish","type":"post","link":"https:\/\/webide.ir\/blog\/%da%86%da%af%d9%88%d9%86%d9%87-%d8%a2%d8%ae%d8%b1%db%8c%d9%86-%d9%86%d8%b3%d8%ae%d9%87-%d8%a7%d8%b2-ansible-%d8%b1%d8%a7-%d8%a8%d8%b1-%d8%b1%d9%88%db%8c-%d8%a7%d9%88%d8%a8%d9%88%d9%86%d8%aa%d9%88","title":{"rendered":"\u0686\u06af\u0648\u0646\u0647 \u0622\u062e\u0631\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0627\u0632 Ansible \u0631\u0627 \u0628\u0631 \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645\u061f"},"content":{"rendered":"<p>\u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0645\u06cc \u062f\u0627\u0646\u06cc\u062f Ansible \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 IT \u0633\u0627\u062f\u0647 \u0648 \u0627\u0633\u0627\u0646 \u0627\u0633\u062a. \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0647\u0627\u060c \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u060c \u0645\u0627\u0634\u06cc\u0646 \u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc \u0648 \u06a9\u0627\u0646\u06cc\u062a\u0646\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Ansible \u0631\u0627 \u0628\u0631 \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 16.04 LTS \u06cc\u0627 17.10 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645. \u067e\u0633 \u0647\u0645\u0631\u0627\u0647 \u0648\u0628 \u0627\u06cc\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<p><!--more--><\/p>\n<h3>\u0646\u0635\u0628:<\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u062e\u0631\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631 \u0631\u0627 \u0628\u0631 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f \u0628\u0627\u06cc\u062f PPA \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0646\u0645\u0627\u06cc\u06cc\u062f. \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u067e\u06a9\u06cc\u062c \u0633\u0648\u0631\u0633 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u0631\u0627 \u0622\u067e\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646\u06a9\u0627\u0631 \u06a9\u0627\u0641\u06cc\u0633\u062a \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u062a\u0627\u06cc\u067e \u0646\u0645\u0627\u06cc\u06cc\u062f:<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: left;\">\n$ sudo apt update<br \/>\n$ sudo apt upgrade<br \/>\n$ sudo apt install software-properties-common\n<\/p>\n<p>\u062d\u0627\u0644\u0627 \u0628\u0647 \u0633\u0648\u0631\u0633 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f ppa:ansible\/ansible \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: left;\">\n$ sudo apt-add-repository ppa:ansible\/ansible<\/p>\n<p>\u062e\u0631\u0648\u062c\u06cc \u0646\u0645\u0648\u0646\u0647:<\/p>\n<table width=\"516\">\n<tbody>\n<tr>\n<td width=\"516\">\n<p style=\"text-align: left;\">\u00a0Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications\u2014 automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.<\/p>\n<p style=\"text-align: left;\">\n<p style=\"text-align: left;\">http:\/\/ansible.com\/<\/p>\n<p style=\"text-align: left;\">\u00a0More info: https:\/\/launchpad.net\/~ansible\/+archive\/ubuntu\/ansible<\/p>\n<p style=\"text-align: left;\">Press <strong>[ENTER]<\/strong> to continue or Ctrl-c to cancel adding it.<\/p>\n<p style=\"text-align: left;\">\n<p style=\"text-align: left;\">gpg: keybox &#8216;\/tmp\/tmp6t9bsfxg\/pubring.gpg&#8217; created<\/p>\n<p style=\"text-align: left;\">gpg: \/tmp\/tmp6t9bsfxg\/trustdb.gpg: trustdb created<\/p>\n<p style=\"text-align: left;\">gpg: key 93C4A3FD7BB9C367: public key &#8220;Launchpad PPA for Ansible, Inc.&#8221; imported<\/p>\n<p style=\"text-align: left;\">gpg: Total number processed: 1<\/p>\n<p style=\"text-align: left;\">gpg:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 imported: 1<\/p>\n<p style=\"text-align: left;\">OK<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u0645\u062e\u0632\u0646 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u06a9\u0645\u06a9 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0628\u0647 \u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<p style=\"text-align: left;\">\n$ sudo apt update<\/p>\n<p>&nbsp;<\/p>\n<p>\u062e\u0631\u0648\u062c\u06cc \u0646\u0645\u0648\u0646\u0647:<\/p>\n<p>&nbsp;<\/p>\n<table width=\"516\">\n<tbody>\n<tr>\n<td width=\"516\">\n<p style=\"text-align: left;\">Ign:1 http:\/\/dl.google.com\/linux\/chrome\/deb stable InRelease<\/p>\n<p style=\"text-align: left;\">Hit:2 http:\/\/dl.google.com\/linux\/chrome\/deb stable Release<\/p>\n<p style=\"text-align: left;\">Get:4 http:\/\/in.archive.ubuntu.com\/ubuntu artful InRelease <strong>[237 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Hit:5 http:\/\/security.ubuntu.com\/ubuntu artful-security InRelease<\/p>\n<p style=\"text-align: left;\">Get:6 http:\/\/ppa.launchpad.net\/ansible\/ansible\/ubuntu artful InRelease <strong>[15.9 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:7 http:\/\/ppa.launchpad.net\/ansible\/ansible\/ubuntu artful\/main amd64 Packages <strong>[560 B]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:8 http:\/\/in.archive.ubuntu.com\/ubuntu artful-updates InRelease <strong>[65.4 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Hit:9 http:\/\/in.archive.ubuntu.com\/ubuntu artful-backports InRelease<\/p>\n<p style=\"text-align: left;\">Get:10 http:\/\/ppa.launchpad.net\/ansible\/ansible\/ubuntu artful\/main i386 Packages <strong>[560 B]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:11 http:\/\/ppa.launchpad.net\/ansible\/ansible\/ubuntu artful\/main Translation-en <strong>[340 B]<\/strong><\/p>\n<p style=\"text-align: left;\">Fetched 319 kB in 5s (62.3 kB\/s)<\/p>\n<p style=\"text-align: left;\">Reading package lists&#8230; Done<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 \u0622\u062e\u0631\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0627\u0632 ansible \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0646\u06cc\u062f. \u0628\u0647 \u0646\u0645\u0648\u0646\u0647 \u062e\u0631\u0648\u062c\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u06a9\u0646\u062f \u062e\u0648\u0628 \u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<p style=\"text-align: left;\">\n<p style=\"text-align: left;\">$ sudo apt install ansible\n<\/p>\n<table width=\"516\">\n<tbody>\n<tr>\n<td width=\"516\">\n<p style=\"text-align: left;\">Reading package lists&#8230; Done<\/p>\n<p style=\"text-align: left;\">Building dependency tree<\/p>\n<p style=\"text-align: left;\">Reading state information&#8230; Done<\/p>\n<p style=\"text-align: left;\">The following additional packages will be installed:<\/p>\n<p style=\"text-align: left;\">\u00a0 python-crypto python-httplib2 python-jinja2 python-markupsafe python-paramiko python-pyasn1 python-setuptools python-yaml sshpass<\/p>\n<p style=\"text-align: left;\">Suggested packages:<\/p>\n<p style=\"text-align: left;\">\u00a0 python-crypto-dbg python-crypto-doc python-jinja2-doc python-gssapi python-setuptools-doc<\/p>\n<p style=\"text-align: left;\">The following NEW packages will be installed:<\/p>\n<p style=\"text-align: left;\">\u00a0 ansible python-crypto python-httplib2 python-jinja2 python-markupsafe python-paramiko python-pyasn1 python-setuptools python-yaml sshpass<\/p>\n<p style=\"text-align: left;\">0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.<\/p>\n<p style=\"text-align: left;\">Need to get 3,610 kB of archives.<\/p>\n<p style=\"text-align: left;\">After this operation, 27.3 MB of additional disk space will be used.<\/p>\n<p style=\"text-align: left;\">Do you want to continue? <strong>[Y\/n]<\/strong> y<\/p>\n<p style=\"text-align: left;\">Get:1 http:\/\/in.archive.ubuntu.com\/ubuntu artful\/main amd64 python-markupsafe amd64 1.0-1build1 <strong>[13.0 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:2 http:\/\/ppa.launchpad.net\/ansible\/ansible\/ubuntu artful\/main amd64 ansible all 2.4.0.0-1ppa~artful <strong>[2,669 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:3 http:\/\/in.archive.ubuntu.com\/ubuntu artful\/main amd64 python-jinja2 all 2.9.6-1 <strong>[107 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:4 http:\/\/in.archive.ubuntu.com\/ubuntu artful\/main amd64 python-yaml amd64 3.12-1build2 <strong>[115 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:5 http:\/\/in.archive.ubuntu.com\/ubuntu artful\/main amd64 python-pyasn1 all 0.1.9-2 <strong>[45.4 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:6 http:\/\/in.archive.ubuntu.com\/ubuntu artful\/main amd64 python-paramiko all 2.0.0-1 <strong>[109 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:7 http:\/\/in.archive.ubuntu.com\/ubuntu artful\/main amd64 python-httplib2 all 0.9.2+dfsg-1 <strong>[34.6 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:8 http:\/\/in.archive.ubuntu.com\/ubuntu artful\/main amd64 python-crypto amd64 2.6.1-7build2 <strong>[245 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:9 http:\/\/in.archive.ubuntu.com\/ubuntu artful\/main amd64 python-setuptools all 36.2.7-2 <strong>[260 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Get:10 http:\/\/in.archive.ubuntu.com\/ubuntu artful\/universe amd64 sshpass amd64 1.06-1 <strong>[10.5 kB]<\/strong><\/p>\n<p style=\"text-align: left;\">Fetched 3,610 kB in 23s (154 kB\/s)<\/p>\n<p style=\"text-align: left;\">Selecting previously unselected package python-markupsafe.<\/p>\n<p style=\"text-align: left;\">(Reading database &#8230; 193191 files and directories currently installed.)<\/p>\n<p style=\"text-align: left;\">Preparing to unpack &#8230;\/0-python-markupsafe_1.0-1build1_amd64.deb &#8230;<\/p>\n<p style=\"text-align: left;\">Unpacking python-markupsafe (1.0-1build1) &#8230;<\/p>\n<p style=\"text-align: left;\">Selecting previously unselected package python-jinja2.<\/p>\n<p style=\"text-align: left;\">Preparing to unpack &#8230;\/1-python-jinja2_2.9.6-1_all.deb &#8230;<\/p>\n<p style=\"text-align: left;\">Unpacking python-jinja2 (2.9.6-1) &#8230;<\/p>\n<p style=\"text-align: left;\">Selecting previously unselected package python-yaml.<\/p>\n<p style=\"text-align: left;\">Preparing to unpack &#8230;\/2-python-yaml_3.12-1build2_amd64.deb &#8230;<\/p>\n<p style=\"text-align: left;\">Unpacking python-yaml (3.12-1build2) &#8230;<\/p>\n<p style=\"text-align: left;\">Selecting previously unselected package python-pyasn1.<\/p>\n<p style=\"text-align: left;\">Preparing to unpack &#8230;\/3-python-pyasn1_0.1.9-2_all.deb &#8230;<\/p>\n<p style=\"text-align: left;\">Unpacking python-pyasn1 (0.1.9-2) &#8230;<\/p>\n<p style=\"text-align: left;\">Selecting previously unselected package python-paramiko.<\/p>\n<p style=\"text-align: left;\">Preparing to unpack &#8230;\/4-python-paramiko_2.0.0-1_all.deb &#8230;<\/p>\n<p style=\"text-align: left;\">Unpacking python-paramiko (2.0.0-1) &#8230;<\/p>\n<p style=\"text-align: left;\">Selecting previously unselected package python-httplib2.<\/p>\n<p style=\"text-align: left;\">Preparing to unpack &#8230;\/5-python-httplib2_0.9.2+dfsg-1_all.deb &#8230;<\/p>\n<p style=\"text-align: left;\">Unpacking python-httplib2 (0.9.2+dfsg-1) &#8230;<\/p>\n<p style=\"text-align: left;\">Selecting previously unselected package python-crypto.<\/p>\n<p style=\"text-align: left;\">Preparing to unpack &#8230;\/6-python-crypto_2.6.1-7build2_amd64.deb &#8230;<\/p>\n<p style=\"text-align: left;\">Unpacking python-crypto (2.6.1-7build2) &#8230;<\/p>\n<p style=\"text-align: left;\">Selecting previously unselected package python-setuptools.<\/p>\n<p style=\"text-align: left;\">Preparing to unpack &#8230;\/7-python-setuptools_36.2.7-2_all.deb &#8230;<\/p>\n<p style=\"text-align: left;\">Unpacking python-setuptools (36.2.7-2) &#8230;<\/p>\n<p style=\"text-align: left;\">Selecting previously unselected package sshpass.<\/p>\n<p style=\"text-align: left;\">Preparing to unpack &#8230;\/8-sshpass_1.06-1_amd64.deb &#8230;<\/p>\n<p style=\"text-align: left;\">Unpacking sshpass (1.06-1) &#8230;<\/p>\n<p style=\"text-align: left;\">Selecting previously unselected package ansible.<\/p>\n<p style=\"text-align: left;\">Preparing to unpack &#8230;\/9-ansible_2.4.0.0-1ppa~artful_all.deb &#8230;<\/p>\n<p style=\"text-align: left;\">Unpacking ansible (2.4.0.0-1ppa~artful) &#8230;<\/p>\n<p style=\"text-align: left;\">Setting up python-setuptools (36.2.7-2) &#8230;<\/p>\n<p style=\"text-align: left;\">Setting up python-yaml (3.12-1build2) &#8230;<\/p>\n<p style=\"text-align: left;\">Setting up python-crypto (2.6.1-7build2) &#8230;<\/p>\n<p style=\"text-align: left;\">Setting up python-pyasn1 (0.1.9-2) &#8230;<\/p>\n<p style=\"text-align: left;\">Setting up python-markupsafe (1.0-1build1) &#8230;<\/p>\n<p style=\"text-align: left;\">Setting up python-httplib2 (0.9.2+dfsg-1) &#8230;<\/p>\n<p style=\"text-align: left;\">Setting up python-paramiko (2.0.0-1) &#8230;<\/p>\n<p style=\"text-align: left;\">Setting up sshpass (1.06-1) &#8230;<\/p>\n<p style=\"text-align: left;\">Processing triggers for doc-base (0.10.7) &#8230;<\/p>\n<p style=\"text-align: left;\">Processing 1 added doc-base file&#8230;<\/p>\n<p style=\"text-align: left;\">Processing triggers for man-db (2.7.6.1-2) &#8230;<\/p>\n<p style=\"text-align: left;\">Setting up python-jinja2 (2.9.6-1) &#8230;<\/p>\n<p style=\"text-align: left;\">Setting up ansible (2.4.0.0-1ppa~artful) &#8230;<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>\u06cc\u0627\u0641\u062a\u0646 \u0646\u0633\u062e\u0647 ansible:<\/h4>\n<p>\u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0646\u06cc\u062f:<\/p>\n<p style=\"text-align: left;\">\n$ ansible &#8211;version\n<\/p>\n<p>\u062e\u0631\u0648\u062c\u06cc \u0646\u0645\u0648\u0646\u0647:<\/p>\n<p>&nbsp;<\/p>\n<table width=\"516\">\n<tbody>\n<tr>\n<td width=\"516\">\n<p style=\"text-align: left;\">ansible 2.4.0.0<\/p>\n<p style=\"text-align: left;\">\u00a0 config file <strong>=<\/strong> \/etc\/ansible\/ansible.cfg<\/p>\n<p style=\"text-align: left;\">\u00a0 configured module search path <strong>=<\/strong> <strong>[u&#8217;\/home\/vivek\/.ansible\/plugins\/modules&#8217;, u&#8217;\/usr\/share\/ansible\/plugins\/modules&#8217;]<\/strong><\/p>\n<p style=\"text-align: left;\">\u00a0 ansible python module location <strong>=<\/strong> \/usr\/lib\/python2.7\/dist-packages\/ansible<\/p>\n<p style=\"text-align: left;\">\u00a0 executable location <strong>=<\/strong> \/usr\/bin\/ansible<\/p>\n<p>\u00a0 python version <strong>=<\/strong> 2.7.14 (default, Sep 23 2017, 22:06:14) <strong>[GCC 7.2.0]<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u0627\u06cc\u062c\u0627\u062f \u0641\u0627\u06cc\u0644 \u0647\u0627\u0633\u062a:<\/strong><\/p>\n<p><strong>\u00a0<\/strong>\u0627\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0627\u06cc\u062f \u0646\u0627\u0645 \u0633\u0631\u0648\u0631 \u0631\u06cc\u0645\u0648\u062a \u06cc\u0627 \u0622\u06cc \u067e\u06cc \u0622\u062f\u0631\u0633 \u0622\u0646 \u0631\u0627 \u0628\u062f\u0627\u0646\u062f. \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0631 \u0641\u0627\u06cc\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 Hosts \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0645\u0633\u06cc\u0631 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0622\u0646 \/etc\/ansible\/hosts \u0627\u0633\u062a. \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n<p style=\"text-align: left;\">\n$ sudo vi \/etc\/ansible\/hosts<br \/>\n\u06cc\u0627<br \/>\n$ vi $HOME\/hosts\n<\/p>\n<p style=\"text-align: left;\">[webservers]\n<p style=\"text-align: left;\">server1.cyberciti.biz<\/p>\n<p style=\"text-align: left;\">104.20.187.5<\/p>\n<p style=\"text-align: left;\">104.20.186.5<\/p>\n<p style=\"text-align: left;\">\n<p style=\"text-align: left;\">[devservers]\n<p style=\"text-align: left;\">10.98.222.4<\/p>\n<p style=\"text-align: left;\">10.98.222.7<\/p>\n<p style=\"text-align: left;\">10.98.222.8<\/p>\n<p>&nbsp;<\/p>\n<h4>\u062a\u0646\u0638\u06cc\u0645 \u0648 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc ssh keys:<\/h4>\n<p>\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f ssh keys \u0631\u0627 \u0628\u06cc\u0646 \u062f\u0633\u062a\u06af\u0627\u0647 \u062e\u0648\u062f \u0648 \u0633\u0631\u0648\u0631 \u0631\u06cc\u0645\u0648\u062a \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<p style=\"text-align: left;\">\n$ ssh-keygen -t rsa -b 4096 -C &#8220;My ansisble key&#8221;\n<\/p>\n<p>\u0627\u0632 \u062f\u0633\u062a\u0648\u0631 scp \u06cc\u0627 ssh-copy-id \u0628\u0631\u0627\u06cc \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644 public key \u0628\u0647 \u0627\u06a9\u0627\u0646\u062a \u062e\u0648\u062f \u062f\u0631 \u0631\u06cc\u0645\u0648\u062a \u0633\u0631\u0648\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<p style=\"text-align: left;\">\n$ ssh-copy-id -i $HOME\/.ssh\/id_rsa.pub\u00a0root@server1.cyberciti.biz<br \/>\n$ ssh-copy-id -i $HOME\/.ssh\/id_rsa.pub\u00a0root@10.98.222.4<br \/>\n$ ssh-copy-id -i $HOME\/.ssh\/id_rsa.pub\u00a0root@10.98.222.7<br \/>\n$ ssh-copy-id -i $HOME\/.ssh\/id_rsa.pub\u00a0root@10.98.222.8<br \/>\n$ eval $(ssh-agent)<br \/>\n$ ssh-add\n<\/p>\n<h4>\u0627\u0631\u0633\u0627\u0644 \u067e\u06cc\u0646\u06af \u0633\u0631\u0648\u0631 \u0628\u0647 \u062a\u0645\u0627\u0645\u06cc \u0633\u0631\u0648\u0631\u0647\u0627:<\/h4>\n<p>\u06a9\u0627\u0641\u06cc\u0633\u062a \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0646\u06cc\u062f:<\/p>\n<p style=\"text-align: left;\">\n<p style=\"text-align: left;\">$ ansible -i ~\/hosts -m ping all<\/p>\n<p style=\"text-align: right;\">\u062e\u0631\u0648\u062c\u06cc \u0646\u0645\u0648\u0646\u0647:<\/p>\n<p style=\"text-align: left;\">10.98.222.4 | SUCCESS =&gt; {<\/p>\n<p style=\"text-align: left;\">\u00a0\u00a0\u00a0 &#8220;changed&#8221;: false,<\/p>\n<p style=\"text-align: left;\">\u00a0\u00a0\u00a0 &#8220;failed&#8221;: false,<\/p>\n<p style=\"text-align: left;\">\u00a0\u00a0\u00a0 &#8220;ping&#8221;: &#8220;pong&#8221;<\/p>\n<p style=\"text-align: left;\">}<\/p>\n<p style=\"text-align: left;\">10.98.222.7 | SUCCESS =&gt; {<\/p>\n<p style=\"text-align: left;\">\u00a0\u00a0\u00a0 &#8220;changed&#8221;: false,<\/p>\n<p style=\"text-align: left;\">\u00a0\u00a0\u00a0 &#8220;failed&#8221;: false,<\/p>\n<p style=\"text-align: left;\">\u00a0\u00a0\u00a0 &#8220;ping&#8221;: &#8220;pong&#8221;<\/p>\n<p style=\"text-align: left;\">}<\/p>\n<p style=\"text-align: left;\">10.98.222.8 | SUCCESS =&gt; {<\/p>\n<p style=\"text-align: left;\">\u00a0\u00a0\u00a0 &#8220;changed&#8221;: false,<\/p>\n<p style=\"text-align: left;\">\u00a0\u00a0\u00a0 &#8220;failed&#8221;: false,<\/p>\n<p style=\"text-align: left;\">\u00a0\u00a0\u00a0 &#8220;ping&#8221;: &#8220;pong&#8221;<\/p>\n<p>}<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-right kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;right&quot;,&quot;id&quot;:&quot;2085&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Rate this post&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 \u0627\u0645\u062a\u06cc\u0627\u0632)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;\u0686\u06af\u0648\u0646\u0647 \u0622\u062e\u0631\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0627\u0632 Ansible \u0631\u0627 \u0628\u0631 \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645\u061f&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\">Rate this post<\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0645\u06cc \u062f\u0627\u0646\u06cc\u062f Ansible \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 IT \u0633\u0627\u062f\u0647 \u0648 \u0627\u0633\u0627\u0646 \u0627\u0633\u062a. \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0647\u0627\u060c \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u060c \u0645\u0627\u0634\u06cc\u0646 \u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc \u0648 \u06a9\u0627\u0646\u06cc\u062a\u0646\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Ansible \u0631\u0627 \u0628\u0631 \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 16.04 LTS \u06cc\u0627 17.10 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645. \u067e\u0633 \u0647\u0645\u0631\u0627\u0647 \u0648\u0628 &hellip;<\/p>\n","protected":false},"author":8,"featured_media":2086,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1371,1370,4,3],"tags":[1620,624,1622,373,1621],"class_list":["post-2085","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ubuntu","category-linux","category-server-manage","category-web-articles","tag-ansible","tag-624","tag--it","tag-373","tag--ansible"],"jetpack_featured_media_url":"https:\/\/webide.ir\/blog\/wp-content\/uploads\/2017\/10\/ansible-logo.png","views":"538","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/parry3-xD","_links":{"self":[{"href":"https:\/\/webide.ir\/blog\/wp-json\/wp\/v2\/posts\/2085","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webide.ir\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webide.ir\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webide.ir\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/webide.ir\/blog\/wp-json\/wp\/v2\/comments?post=2085"}],"version-history":[{"count":0,"href":"https:\/\/webide.ir\/blog\/wp-json\/wp\/v2\/posts\/2085\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webide.ir\/blog\/wp-json\/wp\/v2\/media\/2086"}],"wp:attachment":[{"href":"https:\/\/webide.ir\/blog\/wp-json\/wp\/v2\/media?parent=2085"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webide.ir\/blog\/wp-json\/wp\/v2\/categories?post=2085"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webide.ir\/blog\/wp-json\/wp\/v2\/tags?post=2085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}