Find a file
2025-03-28 15:02:29 +01:00
01 Initial commit 2025-03-22 21:20:57 +00:00
02 Kapitel 02: Playbooks, YAML 2025-03-24 15:23:37 +01:00
03 Kapitel 03: SSH mit Keys und Agent 2025-03-25 10:28:01 +01:00
04 Kapitel 04: Config und Inventory 2025-03-25 10:28:31 +01:00
05 Kapitel 05: Mit Variablen 2025-03-25 15:05:10 +01:00
06 Kapitel 06: Roles 2025-03-25 17:00:04 +01:00
07 Rollen-Variablen verbessert 2025-03-26 14:30:58 +01:00
08 Kapitel 08: register, conditionals 2025-03-26 15:55:20 +01:00
09 Kapitel 09: monitored 2025-03-27 09:25:12 +01:00
10 Kapitel 10: Vault 2025-03-27 14:35:32 +01:00
11 Kapitel 11: Web-Cluster 2025-03-27 16:48:00 +01:00
12 Kapitel 12: komplett 2025-03-28 15:02:29 +01:00
extra Extras zu changed_when, failed_when 2025-03-27 14:35:57 +01:00
group_vars Kapitel 11: Web-Cluster 2025-03-27 16:48:00 +01:00
helper Kapitel 12: komplett 2025-03-28 15:02:29 +01:00
host_vars Kapitel 09: monitored 2025-03-27 09:25:12 +01:00
inventory Kapitel 12: komplett 2025-03-28 15:02:29 +01:00
inventory-scripts Kapitel 12: komplett 2025-03-28 15:02:29 +01:00
plugins Kapitel 12: komplett 2025-03-28 15:02:29 +01:00
roles Kapitel 10: Ablauf, Handler, Block 2025-03-27 14:20:05 +01:00
roles.extern Kapitel 11: Web-Cluster 2025-03-27 16:48:00 +01:00
roles.webcluster@ad984d6648 Kapitel 11: Web-Cluster 2025-03-27 16:48:00 +01:00
.gitignore Initial commit 2025-03-22 21:20:57 +00:00
.gitmodules Kapitel 11: Web-Cluster 2025-03-27 16:48:00 +01:00
ansible.cfg Kapitel 12: komplett 2025-03-28 15:02:29 +01:00
git.md git dazu 2025-03-25 16:56:48 +01:00
hosts.ini Kapitel 11: Web-Cluster 2025-03-27 16:48:00 +01:00
hosts.localhost Kapitel 07: Jinja2 2025-03-26 11:12:15 +01:00
LXC.md Kurze Anleitung zu LXC 2025-03-27 11:39:57 +01:00
LXContainer.md LXC dazu 2025-03-24 16:27:31 +01:00
README.md Kapitel 03: SSH mit Keys und Agent 2025-03-25 10:28:01 +01:00

Ansible-Kurs

Zuordnung

  • tn01 - Andreas
  • tn02 - Götz
  • tn03 - David
  • tn04 - Ralf
  • tn05 - Wolfgang
  • tn06 - Daniel
  • tn07 - Patrick
  • tn08 - Paulius
  • tn09 - Volker

Allgemein

root-Rechte

Der Benutzer kurs ist in den sudo-Einstellungen (ohne Passwort-Eingabe) hinterlegt.

Ihr könnt also sudo -Es, sudo -i, sudo su -, ... oder natürlich auch sudo apt install ... usw. verwenden!

Debian

Paketmanager Kurzeinführung

  • Index-Files aktualisieren: (sudo) apt(-get) update
  • Pakete suchen (alle Begriffe!): apt-cache search ansible lint
  • Pakete installieren: (sudo) apt(-get) install ansible-lint

Standard-Editor anpassen

root@tn00-purple:~# update-alternatives --config editor
There are 8 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/joe         70        auto mode
  1            /bin/nano            40        manual mode
  2            /usr/bin/jmacs       50        manual mode
  3            /usr/bin/joe         70        manual mode
  4            /usr/bin/jpico       50        manual mode
  5            /usr/bin/jstar       50        manual mode
  6            /usr/bin/rjoe        25        manual mode
  7            /usr/bin/vim.basic   30        manual mode
  8            /usr/bin/vim.tiny    15        manual mode

Press <enter> to keep the current choice[*], or type selection number: 8
[...]
root@tn00-purple:~# ls -l /etc/alternatives/editor /etc/alternatives/vim
lrwxrwxrwx 1 root root 18 Nov 22 09:09 /etc/alternatives/editor -> /usr/bin/vim.basic
lrwxrwxrwx 1 root root 18 Aug 17 21:58 /etc/alternatives/vim -> /usr/bin/vim.basic

SSH-Agent

SSH-Agent in einer Sitzung starten

kurs@tn00-purple:~# eval $(ssh-agent)
Agent pid 2720104

SSH-Key am Agent registrieren

kurs@tn00-purple:~# ssh-add
Enter passphrase for /home/svelt/.ssh/id_ed25519:

Ein SSH-Agent in mehreren SSH-Verbindungen

  1. SSH-Agent starten
kurs@tn00-purple:~# eval $(ssh-agent | tee ~/.ssh-agent.sh)
SSH_AUTH_SOCK=/tmp/ssh-r4RVMmRg9KAR/agent.2720217; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2720218; export SSH_AGENT_PID;
echo Agent pid 2720218;
Agent pid 2720218;
  1. In jeder weiteren SSH-Verbindung auf die VM (per copy&paste):
  • Kann für weitere Verbindungen auch später gemacht werden
kurs@tn00-purple:~# source ~/.ssh-agent.sh
Agent pid 2720218;
  1. Verbindung zum SSH-Agent mit ssh-add -l testen
  • "Could not connect to agent" -> Agent läuft nicht und/oder Variablen nicht gesetzt
  • "This agent has no identities" -> Verbindung zum Agent geht, Agent hat aber keine Keys
  • Key -> Verbindung zum Agent geht, Key(s) registriert und verfügbar (4. überflüssig)
  1. SSH-Key registrieren
  • nur einmal nötig
  • Variablen via Script aus 2. Schritt müssen gesetzt sein
kurs@tn00-purple:~# ssh-add

Damit könnt Ihr dann den einen Agent in allen SSH-Verbindungen zur VM nutzen.

Alternative: Keychain

Voraussetzung: SSH-Key existiert, liegt unter (beliebigem) Namen unter ~/.ssh/

  1. Keychain installieren
kurs@tn00-purple:~$ apt install keychain
  1. Von Hand testen
kurs@tn00-purple:~$ keychain ~/.ssh/id_ed25519

 * keychain 2.8.5 ~ http://www.funtoo.org
 * Starting ssh-agent...
 * Adding 1 ssh key(s): /home/kurs/.ssh/id_ed25519
Enter passphrase for /home/kurs/.ssh/id_ed25519: 
 * ssh-add: Identities added: /home/kurs/.ssh/id_ed25519

kurs@tn00-purple:~$ ssh-add -l
Could not open a connection to your authentication agent.

kurs@tn00-purple:~$ cat ~/.keychain/${HOSTNAME}-sh
SSH_AUTH_SOCK=/tmp/ssh-pZf3VyTB4hs3/agent.1612572; export SSH_AUTH_SOCK;
SSH_AGENT_PID=1612575; export SSH_AGENT_PID;

kurs@tn00-purple:~$ . ~/.keychain/${HOSTNAME}-sh
kurs@tn00-purple:~$ ssh-add -l
256 SHA256:9+6FWilZKB46vt/n8HX3eVggjmdt40vXclBPkggaHvM kurs@tn00-purple (ED25519)
  1. In Shell automatisch starten
cat <<EOF >>.bashrc
keychain ~/.ssh/id_ed25519
. ~/.keychain/${HOSTNAME}-sh
EOF