Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:ansible

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
tachtler:ansible [2019/12/23 08:27] – [sudoers.yml] klaustachtler:ansible [2020/03/21 06:28] – [Vorbereitung] klaus
Zeile 22: Zeile 22:
  
 ===== Installation ===== ===== Installation =====
 +
 +==== CentOS ====
  
 Zur Installation von [[https://www.ansible.com/|Ansible]] wird nachfolgendes Paket benötigt: Zur Installation von [[https://www.ansible.com/|Ansible]] wird nachfolgendes Paket benötigt:
Zeile 132: Zeile 134:
 </code> </code>
  
-Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket **''ansible''** installiert wurden.+Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit dem Paket **''ansible''** installiert wurden.
 <code> <code>
 # rpm -qil ansible # rpm -qil ansible
Zeile 176: Zeile 178:
 </code> </code>
  
-Zum Abschluss kann mit nachfolgendem Befehl überprüft werden, ob ein Aufruf möglich ist und [[https://asciidoctor.org/|Asciidoctor]] nutzbar ist:+Zum Abschluss kann mit nachfolgendem Befehl überprüft werden, ob ein Aufruf möglich ist und [[https://www.ansible.com/|Ansible]] nutzbar ist:
 <code> <code>
 # ansible --version # ansible --version
Zeile 185: Zeile 187:
   executable location = /usr/bin/ansible   executable location = /usr/bin/ansible
   python version = 3.6.8 (default, Oct  7 2019, 17:58:22) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)]   python version = 3.6.8 (default, Oct  7 2019, 17:58:22) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)]
 +</code>
 +
 +==== ArchLinux ====
 +
 +Mit nachfolgendem Befehl, wird das Pakete **''ansible''** installiert:
 +<code>
 +# pacman -S ansible --noconfirm
 +resolving dependencies...
 +looking for conflicting packages...
 +
 +Packages (24) libnsl-1.2.0-2  libsodium-1.0.18-1  libyaml-0.2.2-1
 +              python-3.8.1-1  python-appdirs-1.4.3-5  python-asn1crypto-1.2.0-3
 +              python-bcrypt-3.1.7-3  python-cffi-1.13.2-2
 +              python-cryptography-2.8-1  python-idna-2.8-3
 +              python-jinja-2.10.3-3  python-markupsafe-1.1.1-3
 +              python-ordered-set-3.1.1-1  python-packaging-19.2-5
 +              python-paramiko-2.6.0-3  python-ply-3.11-4  python-pyasn1-0.4.8-1
 +              python-pycparser-2.19-3  python-pynacl-1.3.0-3
 +              python-pyparsing-2.4.6-1  python-setuptools-1:43.0.0-1
 +              python-six-1.13.0-2  python-yaml-5.1.2-3  ansible-2.9.2-1
 +
 +Total Download Size:    52.42 MiB
 +Total Installed Size:  307.49 MiB
 +
 +:: Proceed with installation? [Y/n] 
 +:: Retrieving packages...
 + libnsl-1.2.0-2-x...    57.4 KiB   660 KiB/s 00:00 [######################] 100%
 + python-3.8.1-1-x...    37.2 MiB  1294 KiB/s 00:29 [######################] 100%
 + libyaml-0.2.2-1-...    54.7 KiB  1656 KiB/s 00:00 [######################] 100%
 + python-ply-3.11-...    73.3 KiB  1559 KiB/s 00:00 [######################] 100%
 + python-pycparser...   164.2 KiB  1493 KiB/s 00:00 [######################] 100%
 + python-cffi-1.13...   210.1 KiB  1501 KiB/s 00:00 [######################] 100%
 + python-six-1.13....    20.9 KiB  1496 KiB/s 00:00 [######################] 100%
 + python-idna-2.8-...    66.4 KiB  1443 KiB/s 00:00 [######################] 100%
 + python-appdirs-1...    14.2 KiB  2033 KiB/s 00:00 [######################] 100%
 + python-pyparsing...   110.4 KiB  1512 KiB/s 00:00 [######################] 100%
 + python-packaging...    38.9 KiB  1692 KiB/s 00:00 [######################] 100%
 + python-ordered-s...    12.5 KiB   959 KiB/s 00:00 [######################] 100%
 + python-setuptool...   296.1 KiB  1410 KiB/s 00:00 [######################] 100%
 + python-asn1crypt...   163.9 KiB  1490 KiB/s 00:00 [######################] 100%
 + python-cryptogra...   340.7 KiB  1420 KiB/s 00:00 [######################] 100%
 + python-pyasn1-0....   108.2 KiB  1546 KiB/s 00:00 [######################] 100%
 + python-markupsaf...    22.4 KiB  1320 KiB/s 00:00 [######################] 100%
 + python-yaml-5.1....   177.2 KiB  1441 KiB/s 00:00 [######################] 100%
 + python-bcrypt-3....    30.1 KiB  1309 KiB/s 00:00 [######################] 100%
 + libsodium-1.0.18...   158.6 KiB  1482 KiB/s 00:00 [######################] 100%
 + python-pynacl-1....    76.1 KiB  1522 KiB/s 00:00 [######################] 100%
 + python-paramiko-...   247.7 KiB  1424 KiB/s 00:00 [######################] 100%
 + python-jinja-2.1...   199.2 KiB  1364 KiB/s 00:00 [######################] 100%
 + ansible-2.9.2-1-any    12.7 MiB  1342 KiB/s 00:10 [######################] 100%
 +(24/24) checking keys in keyring                   [######################] 100%
 +(24/24) checking package integrity                 [######################] 100%
 +(24/24) loading package files                      [######################] 100%
 +(24/24) checking for file conflicts                [######################] 100%
 +(24/24) checking available disk space              [######################] 100%
 +:: Processing package changes...
 +( 1/24) installing libnsl                          [######################] 100%
 +( 2/24) installing python                          [######################] 100%
 +Optional dependencies for python
 +    python-setuptools [pending]
 +    python-pip
 +    sqlite [installed]
 +    mpdecimal: for decimal
 +    xz: for lzma [installed]
 +    tk: for tkinter
 +( 3/24) installing libyaml                         [######################] 100%
 +( 4/24) installing python-yaml                     [######################] 100%
 +( 5/24) installing python-ply                      [######################] 100%
 +( 6/24) installing python-pycparser                [######################] 100%
 +( 7/24) installing python-cffi                     [######################] 100%
 +( 8/24) installing python-six                      [######################] 100%
 +( 9/24) installing python-bcrypt                   [######################] 100%
 +(10/24) installing python-idna                     [######################] 100%
 +(11/24) installing python-appdirs                  [######################] 100%
 +(12/24) installing python-pyparsing                [######################] 100%
 +(13/24) installing python-packaging                [######################] 100%
 +(14/24) installing python-ordered-set              [######################] 100%
 +(15/24) installing python-setuptools               [######################] 100%
 +(16/24) installing python-asn1crypto               [######################] 100%
 +(17/24) installing python-cryptography             [######################] 100%
 +(18/24) installing python-pyasn1                   [######################] 100%
 +(19/24) installing libsodium                       [######################] 100%
 +(20/24) installing python-pynacl                   [######################] 100%
 +(21/24) installing python-paramiko                 [######################] 100%
 +(22/24) installing python-markupsafe               [######################] 100%
 +(23/24) installing python-jinja                    [######################] 100%
 +Optional dependencies for python-jinja
 +    python-babel: for i18n support
 +(24/24) installing ansible                         [######################] 100%
 +Optional dependencies for ansible
 +    sshpass: for ssh connections with password
 +    python-passlib: crypt values for vars_prompt
 +    python-pyopenssl: openssl modules
 +    python-netaddr: for the ipaddr filter
 +    python-systemd: log to journal
 +    python-pywinrm: connect to Windows machines
 +    python-dnspython: for dig lookup
 +    python-ovirt-engine-sdk: ovirt support
 +    python-boto3: aws_s3 module
 +    python-jmespath: json_query support
 +    acme-tiny: openssl_certificate module
 +:: Running post-transaction hooks...
 +(1/1) Arming ConditionNeedsUpdate...
 +</code>
 +
 +Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit dem Paket **''ansible''** installiert wurden.
 +<code>
 +# pacman -Ql ansible
 +ansible /etc/
 +ansible /etc/ansible/
 +ansible /etc/ansible/ansible.cfg
 +ansible /usr/
 +ansible /usr/bin/
 +ansible /usr/bin/ansible
 +ansible /usr/bin/ansible-config
 +ansible /usr/bin/ansible-connection
 +ansible /usr/bin/ansible-console
 +ansible /usr/bin/ansible-doc
 +ansible /usr/bin/ansible-galaxy
 +ansible /usr/bin/ansible-inventory
 +ansible /usr/bin/ansible-playbook
 +ansible /usr/bin/ansible-pull
 +ansible /usr/bin/ansible-test
 +ansible /usr/bin/ansible-vault
 +ansible /usr/lib/
 +ansible /usr/lib/python3.8/
 +...
 +[Kürzung der Ausgabe]
 +...
 +ansible /usr/share/
 +ansible /usr/share/ansible/
 +ansible /usr/share/ansible/doc/
 +ansible /usr/share/ansible/doc/examples/
 +ansible /usr/share/ansible/doc/examples/ansible.cfg
 +ansible /usr/share/ansible/doc/examples/hosts
 +ansible /usr/share/ansible/doc/examples/scripts/
 +ansible /usr/share/ansible/doc/examples/scripts/ConfigureRemotingForAnsible.ps1
 +ansible /usr/share/ansible/doc/examples/scripts/upgrade_to_ps3.ps1
 +ansible /usr/share/doc/
 +ansible /usr/share/doc/ansible/
 +ansible /usr/share/doc/ansible/COPYING
 +ansible /usr/share/man/
 +ansible /usr/share/man/man1/
 +ansible /usr/share/man/man1/ansible-config.1.gz
 +ansible /usr/share/man/man1/ansible-console.1.gz
 +ansible /usr/share/man/man1/ansible-doc.1.gz
 +ansible /usr/share/man/man1/ansible-galaxy.1.gz
 +ansible /usr/share/man/man1/ansible-inventory.1.gz
 +ansible /usr/share/man/man1/ansible-playbook.1.gz
 +ansible /usr/share/man/man1/ansible-pull.1.gz
 +ansible /usr/share/man/man1/ansible-vault.1.gz
 +ansible /usr/share/man/man1/ansible.1.gz
 +</code>
 +
 +Zum Abschluss kann mit nachfolgendem Befehl überprüft werden, ob ein Aufruf möglich ist und [[https://www.ansible.com/|Ansible]] nutzbar ist:
 +<code>
 +# ansible --version
 +ansible 2.9.2
 +  config file = /etc/ansible/ansible.cfg
 +  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
 +  ansible python module location = /usr/lib/python3.8/site-packages/ansible
 +  executable location = /usr/bin/ansible
 +  python version = 3.8.1 (default, Dec 21 2019, 20:57:38) [GCC 9.2.0]
 </code> </code>
  
 ===== Vorbereitung ===== ===== Vorbereitung =====
 +
 +:!: **HINWEIS** - **Nachfolgende Schritte sind __NICHT__ mehr durchzuführen, wenn die Installation wie unter nachfolgendem internen Link fortgesetzte werden soll:**
 +  * [[tachtler:ansible_mit_ansible_einrichten|Ansible mit Ansible einrichten]]
  
 Für die spätere Kommunikation via **SSH**, kann mit nachfolgendem Befehl ein **SSH-Schlüsselpaar** erzeugt werden, welches dann später zur Anmeldung an den entsprechenden Servern verwendet werden kann. Für die spätere Kommunikation via **SSH**, kann mit nachfolgendem Befehl ein **SSH-Schlüsselpaar** erzeugt werden, welches dann später zur Anmeldung an den entsprechenden Servern verwendet werden kann.
Zeile 230: Zeile 398:
   * <code>-a 97</code>   * <code>-a 97</code>
  
-''-a rounds'' - Beim Speichern eines privaten Schlüssels gibt diese Option die Anzahl der KDF (Schlüsselableitungsfunktion) verwendeten Runden. Höhere Zahlen ergeben langsamere "Passphrasenüberprüfung" und erhöhte Widerstandsfähigkeit gegen das Knacken des Passworts erzwingen (falls die Schlüssel gestohlen werden).+''-a rounds'' - Beim Speichern eines privaten Schlüssels gibt diese Option die Anzahl der KDF (Schlüsselableitungsfunktion) verwendeten Runden an. Höhere Zahlen ergeben langsamere "Passphrasenüberprüfung" und erhöhte Widerstandsfähigkeit gegen das Knacken des Passworts erzwingen (falls die Schlüssel gestohlen werden).
  
 Bei der Überprüfung von DH-GEX-Kandidaten (mit dem Befehl ''-T''). Diese Option gibt die Anzahl der durchzuführenden Primzahltests an. Bei der Überprüfung von DH-GEX-Kandidaten (mit dem Befehl ''-T''). Diese Option gibt die Anzahl der durchzuführenden Primzahltests an.
Zeile 388: Zeile 556:
   - **''become_method=sudo''** - welcher **Befehl** zur Rechteerlangung ausgeführt werden soll   - **''become_method=sudo''** - welcher **Befehl** zur Rechteerlangung ausgeführt werden soll
   - **''become_user=root''** - der **Benutzer**, dessen Rechte erlangt werden sollen    - **''become_user=root''** - der **Benutzer**, dessen Rechte erlangt werden sollen 
-  - **''become_ask_pass=False''** - ob nach einem **Passwort** gefragt werden soll+  - **''become_ask_pass=True''** - ob nach einem **Passwort** gefragt werden soll
  
 Nachfolgende Änderungen sind dafür durchzuführen. Nachfolgende Änderungen sind dafür durchzuführen.
Zeile 403: Zeile 571:
 become_method=sudo become_method=sudo
 become_user=root become_user=root
-become_ask_pass=False+become_ask_pass=True
 </code> </code>
  
Zeile 423: Zeile 591:
   - Für den Benutzer **''klaus''**   - Für den Benutzer **''klaus''**
   - überprüfen, ob eine Gruppe **''wheel''** existiert und   - überprüfen, ob eine Gruppe **''wheel''** existiert und
-  - in der Datei **''/etc/sudoers''** der Eintrag **''%wheel ALL=(ALL) NOPASSWD: ALL''** vorhanden ist und+  - **__optional__** - in einer **__neuen__** Datei **''/etc/sudoers.d/020_nopasswd_all_for_wheel''** den Eintrag **''%wheel ALL=(ALL) NOPASSWD: ALL''** vorhalten
   - dies zu **''validieren''** und   - dies zu **''validieren''** und
   - den Benutzer **''klaus''** **__zusätzlich__** in die Gruppe **''wheels''** aufzunehmen und   - den Benutzer **''klaus''** **__zusätzlich__** in die Gruppe **''wheels''** aufzunehmen und
Zeile 438: Zeile 606:
 umzusetzen. umzusetzen.
  
-:!: **WICHTIG** - **Durch die Aufnhame eines Benutzers, hier ''klaus'', in die Gruppe ''wheel'' erhält dieser die Möglichkeit, nach einer erfolgreichen Anmeldung am jeweiligen Server, ''sudo'' (das Wechseln auf den Benutzer ''root'', bzw. Erlangung dessen Rechte) __ohne__ Passworteingabe zu erlangen!**+:!: **WICHTIG** - **Durch die Aufnahme eines Benutzers, hier ''klaus'', in die Gruppe ''wheel'' erhält dieser die Möglichkeit, nach einer erfolgreichen Anmeldung am jeweiligen Server, ''sudo'' (das Wechseln auf den Benutzer ''root'', bzw. Erlangung dessen Rechte) __optional__ - __ohne__ Passworteingabe zu erlangen!**
  
 :!: **WICHTIG** - Damit kann nun ermöglicht werden, dass der Benutzer, hier **''klaus''**, sich auf einem Server via **SSH-Schlüssel** verbinden kann **__und__** Befehle auf dem jeweiligen Server ausführen kann, **__auch__** mit Rechten des Benutzers **''root''** via **''sudo''**. :!: **WICHTIG** - Damit kann nun ermöglicht werden, dass der Benutzer, hier **''klaus''**, sich auf einem Server via **SSH-Schlüssel** verbinden kann **__und__** Befehle auf dem jeweiligen Server ausführen kann, **__auch__** mit Rechten des Benutzers **''root''** via **''sudo''**.
Zeile 445: Zeile 613:
   * [[https://docs.ansible.com/ansible/2.8/user_guide/intro_getting_started.html#remote-connection-information|Ansible - Docs » User Guide » Getting Started - Remote Connection Information]]   * [[https://docs.ansible.com/ansible/2.8/user_guide/intro_getting_started.html#remote-connection-information|Ansible - Docs » User Guide » Getting Started - Remote Connection Information]]
  
-  * **„Zitat“** - „[[https://www.ansible.com/|Ansible]] stellt keinen Kanal zur Verfügung, der die Kommunikation zwischen dem Benutzer und dem ssh-Prozess erlaubt, um ein Passwort manuell zu akzeptieren und einen ssh-Schlüssel zu entschlüsseln, wenn das ssh-Verbindungs-Plugin verwendet wird (was der Standard ist). Die Verwendung des ''ssh-agent'' wird dringend empfohlen.“+  * **„Zitat“** - „[[https://www.ansible.com/|Ansible]] stellt keinen Kanal zur Verfügung, der die Kommunikation zwischen dem Benutzer und dem SSH-Prozess erlaubt, um ein Passwort manuell zu akzeptieren und einen SSH-Schlüssel zu entschlüsseln, wenn das SSH-Verbindungs-Plugin verwendet wird (was der Standard ist). Die Verwendung des ''ssh-agent'' wird dringend empfohlen.“
  
 === Playbook === === Playbook ===
Zeile 465: Zeile 633:
         name: wheel         name: wheel
         state: present         state: present
- +  
-    - name: Allow 'wheel' group to have passwordless sudo +# Tachtler - optional - 
-      copy: +   - name: Allow 'wheel' group to have passwordless sudo 
-        content: '%wheel ALL=(ALL) NOPASSWD: ALL' +     copy: 
-        dest: /etc/sudoers.d/020_nopasswd_all_for_wheel +       content: '%wheel ALL=(ALL) NOPASSWD: ALL' 
-        owner: root +       dest: /etc/sudoers.d/020_nopasswd_all_for_wheel 
-        group: root +       owner: root 
-        mode: "0640     +       group: root 
-        validate: visudo -cf %s+       mode: "0440     
 +       validate: visudo -cf %s
  
     - name: Add sudoers users to 'wheel' group     - name: Add sudoers users to 'wheel' group
Zeile 499: Zeile 668:
 === Ausführung === === Ausführung ===
  
-ZU Ausführung, soll mit nachfolgendem Befehl in das Verzeichnis+Zur Ausführung, soll mit nachfolgendem Befehl in das Verzeichnis
   * ''/etc/ansible''   * ''/etc/ansible''
 gewechselt werden: gewechselt werden:
Zeile 523: Zeile 692:
  
 TASK [Make sure we have a 'wheel' group] *************************************** TASK [Make sure we have a 'wheel' group] ***************************************
-ok: [192.168.122.66] => {"changed": false, "gid": 10, "name": "wheel", "state": "present", "system": false} 
 ok: [192.168.122.56] => {"changed": false, "gid": 10, "name": "wheel", "state": "present", "system": false} ok: [192.168.122.56] => {"changed": false, "gid": 10, "name": "wheel", "state": "present", "system": false}
- +ok: [192.168.122.66] => {"changed": false, "gid": 10, "name": "wheel", "state": "present", "system": false}
-TASK [Allow 'wheel' group to have passwordless sudo] *************************** +
-changed: [192.168.122.66] => {"changed": true, "checksum": "9126b009e0fddb335198d18b659e74dec53c424a", "dest": "/etc/sudoers.d/020_nopasswd_all_for_wheel", "gid": 0, "group": "root", "md5sum": "c06c2d51d25ed9166e144784184f255e", "mode": "0750", "owner": "root", "secontext": "system_u:object_r:etc_t:s0", "size": 30, "src": "/root/.ansible/tmp/ansible-tmp-1576999216.9395976-82764283294206/source", "state": "file", "uid": 0} +
-changed: [192.168.122.56] => {"changed": true, "checksum": "9126b009e0fddb335198d18b659e74dec53c424a", "dest": "/etc/sudoers.d/020_nopasswd_all_for_wheel", "gid": 0, "group": "root", "md5sum": "c06c2d51d25ed9166e144784184f255e", "mode": "0750", "owner": "root", "secontext": "system_u:object_r:etc_t:s0", "size": 30, "src": "/root/.ansible/tmp/ansible-tmp-1576999216.9544275-129303114346682/source", "state": "file", "uid": 0}+
  
 TASK [Add sudoers users to 'wheel' group] ************************************** TASK [Add sudoers users to 'wheel' group] **************************************
-changed: [192.168.122.66] => (item=klaus) => {"ansible_loop_var": "item", "append": true, "changed": true, "comment": "Klaus Tachtler", "group": 1000, "groups": "wheel", "home": "/home/klaus", "item": "klaus", "move_home": false, "name": "klaus", "shell": "/bin/bash", "state": "present", "uid": 1000} 
 changed: [192.168.122.56] => (item=klaus) => {"ansible_loop_var": "item", "append": true, "changed": true, "comment": "Klaus Tachtler", "group": 1000, "groups": "wheel", "home": "/home/klaus", "item": "klaus", "move_home": false, "name": "klaus", "shell": "/bin/bash", "state": "present", "uid": 1000} changed: [192.168.122.56] => (item=klaus) => {"ansible_loop_var": "item", "append": true, "changed": true, "comment": "Klaus Tachtler", "group": 1000, "groups": "wheel", "home": "/home/klaus", "item": "klaus", "move_home": false, "name": "klaus", "shell": "/bin/bash", "state": "present", "uid": 1000}
 +changed: [192.168.122.66] => (item=klaus) => {"ansible_loop_var": "item", "append": true, "changed": true, "comment": "Klaus Tachtler", "group": 1000, "groups": "wheel", "home": "/home/klaus", "item": "klaus", "move_home": false, "name": "klaus", "shell": "/bin/bash", "state": "present", "uid": 1000}
  
 TASK [Set exclusive authorized key for sudoers taken from file] **************** TASK [Set exclusive authorized key for sudoers taken from file] ****************
Zeile 539: Zeile 704:
  
 PLAY RECAP ********************************************************************* PLAY RECAP *********************************************************************
-192.168.122.56             : ok=   changed=   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0    +192.168.122.56             : ok=   changed=   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0    
-192.168.122.66             : ok=   changed=   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0+192.168.122.66             : ok=   changed=   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 
 </code> </code>
  
Zeile 551: Zeile 717:
   * <code>-v</code>   * <code>-v</code>
  
-Der **Parameter** ''-v'' ermöglicht die Ausgabe von erweiterten Informationen (verbose) währen der Ausführung.+Der **Parameter** ''-v'' ermöglicht die Ausgabe von erweiterten Informationen (verbose) währen der Ausführung.
  
   * <code>sudoers.yml </code>   * <code>sudoers.yml </code>
Zeile 559: Zeile 725:
   * <code>-u root</code>   * <code>-u root</code>
  
-Der **Parameter** ''-u root'' bedingt die Ausführung unter dem Benutzer **''root''**, um sich mit diesen via **SSH** auf die einzelnen Server zu verbinden.+Der **Parameter** ''-u root'' bedingt die Ausführung unter dem Benutzer **''root''**, um sich mit diesen via **SSH** auf die einzelnen Server zu verbinden.
  
   * <code>--ask-pass</code>   * <code>--ask-pass</code>
  
-Der **Parameter** ''--ask-pass'' erzwingt die Eingabe des Passworts des **''root''**, um sich mit diesen via **SSH** auf die einzelnen Server zu verbinden.+Der **Parameter** ''--ask-pass'' erzwingt die Eingabe des Passworts des **''root''**, um sich mit diesen via **SSH** auf die einzelnen Server zu verbinden.
  
 === Überprüfung === === Überprüfung ===
Zeile 596: Zeile 762:
   * [[https://docs.ansible.com/ansible/2.8/user_guide/intro_getting_started.html#remote-connection-information|Ansible - Docs » User Guide » Getting Started - Remote Connection Information]]   * [[https://docs.ansible.com/ansible/2.8/user_guide/intro_getting_started.html#remote-connection-information|Ansible - Docs » User Guide » Getting Started - Remote Connection Information]]
  
-  * **„Zitat“** - „[[https://www.ansible.com/|Ansible]] stellt keinen Kanal zur Verfügung, der die Kommunikation zwischen dem Benutzer und dem ssh-Prozess erlaubt, um ein Passwort manuell zu akzeptieren und einen ssh-Schlüssel zu entschlüsseln, wenn das ssh-Verbindungs-Plugin verwendet wird (was der Standard ist). Die Verwendung des ''ssh-agent'' wird dringend empfohlen.“+  * **„Zitat“** - „[[https://www.ansible.com/|Ansible]] stellt keinen Kanal zur Verfügung, der die Kommunikation zwischen dem Benutzer und dem SSH-Prozess erlaubt, um ein Passwort manuell zu akzeptieren und einen SSH-Schlüssel zu entschlüsseln, wenn das SSH-Verbindungs-Plugin verwendet wird (was der Standard ist). Die Verwendung des ''ssh-agent'' wird dringend empfohlen.“
  
 <code> <code>
Zeile 629: Zeile 795:
  
 :!: **HINWEIS** - **Die Ausführungen der Befehle erfolgen als angemeldeter Benutzer ''klaus''** :!: **HINWEIS** - **Die Ausführungen der Befehle erfolgen als angemeldeter Benutzer ''klaus''**
 +
 +:!: **HINWEIS** - **Das ''BECOME password:'' ist das des Benutzers ''klaus''**
  
 Durch den erneuten Aufruf des nachfolgenden Befehls, kann überprüft werden, ob alle Server via **''SSH''** erreichbar sind: Durch den erneuten Aufruf des nachfolgenden Befehls, kann überprüft werden, ob alle Server via **''SSH''** erreichbar sind:
 <code ini> <code ini>
 $ ansible all -m ping $ ansible all -m ping
 +BECOME password:
 192.168.122.66 | SUCCESS => { 192.168.122.66 | SUCCESS => {
     "ansible_facts": {     "ansible_facts": {
Zeile 651: Zeile 820:
 Ein weiterer Test könnte ebenfalls wiederholt werden, um bestätigen zu können, das auch Befehle auf den entsprechenden Server ausgeführt werden können, wie nachfolgender Befehl zeigt: Ein weiterer Test könnte ebenfalls wiederholt werden, um bestätigen zu können, das auch Befehle auf den entsprechenden Server ausgeführt werden können, wie nachfolgender Befehl zeigt:
 <code ini> <code ini>
-$ ansible all -a "/bin/echo hello" +$ ansible all -a "/bin/echo hello" 
 +BECOME password: 
 192.168.122.66 | CHANGED | rc=0 >> 192.168.122.66 | CHANGED | rc=0 >>
 hello hello
Zeile 692: Zeile 862:
 <code ini> <code ini>
 $ ansible all -a "ls /root" $ ansible all -a "ls /root"
 +BECOME password:
 192.168.122.66 | CHANGED | rc=0 >> 192.168.122.66 | CHANGED | rc=0 >>
 anaconda-ks.cfg anaconda-ks.cfg
tachtler/ansible.txt · Zuletzt geändert: 2020/03/27 08:16 von klaus