Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
linux:ansible:playbook_example_10 [24.09.2022 12:39. ] – [Jinja2-Template: ssh_client_config.j2] django | linux:ansible:playbook_example_10 [24.09.2022 13:50. ] (aktuell) – [Links] django | ||
---|---|---|---|
Zeile 479: | Zeile 479: | ||
Die betreffenden Hostspezifischen Variablen halten wir hier in entsprechenden Dateien bzw. Unterverzeichnissen vor. Das nachfolgende Beispiel hier zeigt die Host-spezifischen Variablen eines Hosts im Intranet. | Die betreffenden Hostspezifischen Variablen halten wir hier in entsprechenden Dateien bzw. Unterverzeichnissen vor. Das nachfolgende Beispiel hier zeigt die Host-spezifischen Variablen eines Hosts im Intranet. | ||
- | $ less inventories/ | + | $ less ~/ansible/inventories/ |
<file c++ vml030010># | <file c++ vml030010># | ||
Zeile 488: | Zeile 488: | ||
ssh_port: 22 | ssh_port: 22 | ||
ssh_protocol: | ssh_protocol: | ||
- | ssh_keyfile: | + | ssh_keyfile: |
- | host_sshjump: | + | |
+ | Als Beispiel für einen externen Host, der nur via Jump-Host erreichbar ist sehen wir uns die Inventory-Host-Definition des Hosts **'' | ||
+ | $ less ~/ | ||
- | ==== Ergebnis: ~/ | ||
+ | <file c++ ff_pliening_gbw__ug_># | ||
+ | host_alias: | ||
+ | host_ipv4: | ||
+ | host_ipv6: 2001: | ||
+ | ssh_user: root | ||
+ | ssh_port: 22 | ||
+ | ssh_protocol: | ||
+ | ssh_keyfile: | ||
+ | host_sshjump: | ||
+ | |||
+ | branch: " | ||
+ | domain: " | ||
+ | director: " | ||
+ | node_contact_address: | ||
+ | node_hostname: | ||
+ | node_latitude: | ||
+ | node_longitude: | ||
+ | node_model: " | ||
+ | node_share_location: | ||
+ | node_ghostmode: | ||
+ | node_release: | ||
+ | node_autoupdate: | ||
+ | </ | ||
+ | |||
+ | Hier sehen wir nun dass unter anderem ein anderer SSH-User, ein anderes SSH-Keyfile sowie ein Jump-Host benutzt wird. Ferner finden sich im Anschluß noch weitere Host-spezische Variablen, für die Konfiguration des betreffenden **[[https:// | ||
+ | |||
+ | === Playbook-Lauf === | ||
+ | Dank der **[[playbook_example_08# | ||
+ | $ ansible-playbook ~/ | ||
+ | |||
+ | < | ||
+ | <pre class=" | ||
+ | <font style=" | ||
+ | PLAY [ssh_client_config.yml] ****************************************************************************************************** | ||
+ | |||
+ | TASK [Gathering Facts] ************************************************************************************************************</ | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | TASK [ssh_client : include_tasks] *************************************************************************************************</ | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | TASK [ssh_client : Generieren und kopieren der SSH Client Konfiguration ~/ | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | PLAY RECAP *************************************************************************************************************************</ | ||
+ | <font style=" | ||
+ | </ | ||
+ | </ | ||
+ | === Ergebnis: ~/ | ||
+ | Als Ergebnis erhalten wir dann quasi auf Knopfdruck immer eine aktuelle SSH-Client-Konfigurationsdatei **'' | ||
<file bash ~/ | <file bash ~/ | ||
Zeile 516: | Zeile 566: | ||
# interne Systeme - IDMZ | # interne Systeme - IDMZ | ||
Host vml030010 | Host vml030010 | ||
- | Hostname 10.0.0.17 | + | Hostname 10.30.30.10 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 523: | Zeile 573: | ||
Host fw1 | Host fw1 | ||
- | Hostname 10.0.0.17 | + | Hostname 10.30.30.10 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 530: | Zeile 580: | ||
Host vml030020 | Host vml030020 | ||
- | Hostname 10.0.0.27 | + | Hostname 10.30.30.20 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 537: | Zeile 587: | ||
Host fw2 | Host fw2 | ||
- | Hostname 10.0.0.27 | + | Hostname 10.30.30.2 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 544: | Zeile 594: | ||
Host vml030030 | Host vml030030 | ||
- | Hostname 10.0.0.37 | + | Hostname 10.30.30.30 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 551: | Zeile 601: | ||
Host | Host | ||
- | Hostname 10.0.0.37 | + | Hostname 10.30.30.30 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 561: | Zeile 611: | ||
Host vml030250 | Host vml030250 | ||
- | Hostname 10.0.0.40 | + | Hostname 10.30.30.250 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 568: | Zeile 618: | ||
Host db_clusternode_3 | Host db_clusternode_3 | ||
- | Hostname 10.0.0.40 | + | Hostname 10.30.30.250 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 576: | Zeile 626: | ||
# interne Systeme - Intranet | # interne Systeme - Intranet | ||
Host pml010002 | Host pml010002 | ||
- | Hostname 10.0.10.2 | + | Hostname 10.10.10.2 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 583: | Zeile 633: | ||
Host kvm_1 | Host kvm_1 | ||
- | Hostname 10.0.10.2 | + | Hostname 10.10.10.2 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 593: | Zeile 643: | ||
Host pml010126 | Host pml010126 | ||
- | Hostname 10.0.10.71 | + | Hostname 10.10.10.126 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 600: | Zeile 650: | ||
Host feinstaubsensor | Host feinstaubsensor | ||
- | Hostname 10.0.10.71 | + | Hostname 10.10.10.126 |
User django | User django | ||
Port 22 | Port 22 | ||
Zeile 642: | Zeile 692: | ||
</ | </ | ||
+ | ===== Fazit und Ausblick ===== | ||
+ | <WRAP center round info 80%> | ||
- | FIXME //**... do geds weida!**// FIXME | + | Die manuelle, zeitraubende und ggf. Fehlerbehaftete Pflege der SSH-Client-Konfigurations-Datei durch mehrere Admins auf verschiedenen Ansible-Kontroll-Knoten ist somit Geschichte. Ferner sind wir unabhängig und können so viele SSH-Jump-Hosts verwenden, die eben zum Erreichen der Zielhost von Nöten sind. |
+ | Die initiale Fragestellung //Wie wird sicher gestellt, dass alle Ziele auch erreichbar sind?//, die wir bei unseren **[[detail# | ||
+ | </ | ||
- | ===== lorem ipsum dolor sit amet ===== | + | ====== |
+ | * **[[detail|zurück zum Kapitel " | ||
+ | * **=> [[playbook_example_11|weiter zum Kapitel " | ||
+ | * **[[start|Zurück zur " | ||
+ | * **[[wiki: | ||
+ | * **[[http:// | ||
- | :KRIT: FIXME :KRIT: | ||