Version 20.1 von Jonas Mayer am 2022/05/24 09:35

Zeige letzte Bearbeiter
1 Ab der Puppet-Version 1.5.x kamen weitere SSH-Einstellungen hinzu, die für die Nutzung unter LogoDIDACT brauchbar sein können.
2
3 {{toc start="4"/}}
4
5
6 ==== __Containerübergreifend nutzbare Einstellungen__ ====
7
8 (% class="wikigeneratedid" id="HGFCltigkeitsbereichderEinstellungdurchAuswahlderSpeicherortsfestlegen" %)
9 (% id="cke_bm_186S" style="display:none" %) (%%)Der Speicherort der konfigurierten YAML-Datei gibt den Gültigkeitsbereich der Option am Server vor.
10
11 * Um die Einstellung für alle LXC-Container und den ldhost zu verwenden, müssen die Einstellungen in {{box}}/etc/logodidact/hiera/custom.yaml{{/box}} abgespeichert werden.
12 * Möchten Sie die Einstellungen auf einen einzelnen LXC-Container einschränken, so müssen die Einstellungen in {{box}}/etc/logodidact/hiera/custom.d/[NameDesContainers].yaml{{/box}} gespeichert werden.
13 * (((
14 Einstellungen für den ldhost selbst müssen in der Datei  {{box}}/etc/logodidact/hiera/custom.d/ldhost.yaml{{/box}} gespeichert werden.
15 )))
16
17 ----
18
19 Festlegen, ob ein Login am Server als root-Benutzer im SSH-Dienst erlaubt ist:
20
21 {{code language="bash"}}
22 ld_ssh::server::permit_root_login: true / false # Default = true
23 {{/code}}
24
25 ----
26
27 Authentifizierung neben der Public-Key Methode auch per Passwort zulassen:
28
29 {{code language="bash"}}
30 ld_ssh::server::auth_passwd: true / false # Default = true
31 {{/code}}
32
33 ----
34
35 Die Autorisierung von SSH-Schlüsseln zur Anmeldung am Server erfolgt über sogenannte Hiera-Einstellungen im Puppeteer. Standardmäßig ist dieses Anmeldeverfahren (PubkeyAuthentication) dort für den SSH-Dienst aktiviert:
36
37 {{code language="bash"}}
38 ld_ssh::server::authorize::root::extern: true / false # Default = true
39 ld_ssh::server::authorize::root::intern: true / false # Default = true
40 {{/code}}
41
42 Der Public-Key Teil aller SSH-Schlüssel, die zur Anmeldung am Server autorisiert werden sollen, müssen dann in folgenden Verzeichnis im Puppeteer abgelegt werden:
43
44 {{code language="bash"}}
45 root@puppeteer:~ $ /etc/logodidact/ssh/keys/[USERNAME]/[intern|extern|global]
46
47 # Hinweise:
48 # ---------
49 #
50 # * Zur Autorisierung einer SSH-Key Anmeldung für den root-Benutzer muss also "[USERNAME]" im Pfad durch "root" ersetzt werden
51 #
52 # * Im letzten Teil des Pfades gibt man vor, ob die SSH-Anmeldung mit dem entsprechenden Key...
53 # ... intern = nur für das lokale Netz (10.16.x.x) freigeschaltet werden soll
54 # ... extern = nur für Fernzugriffe auf den Server über das Internet freigeschaltet werden soll
55 # ... global = von beiden Seiten freigeschaltet werden soll, also für die interne & externe Zone
56 {{/code}}
57
58 Für jeden Public-Key einer Person muss eine eigene Datei im oben beschriebenen Verzeichnis abgespeichert werden, die auf die Dateiendung (% style="color:#2980b9" %)**.pub**(%%) endet.
59
60 ----
61
62 In Bezug zu länger geöffneten SSH-Sitzungen gibt es einen vordefinierten Timeout, zu dem die Verbindung geschlossen wird und ein automatischer Logout erfolgt.
63
64 {{code language="bash"}}
65 # Folgende Standard-Einstellungen können bei Bedarf erhöht werden
66 ld_ssh::server::auto_logout_timeouts:
67 ssh: 12h
68 console: 8h
69 {{/code}}
70
71 Zur Ausführung von Kommandos, die selbst sehr viel Zeit am Server in Anspruch nehmen (z.B. das Kopieren größerer Mengen an Daten), empfiehlt sich die Verwendung einer [[Screen-Sitzung>>https://wiki.ubuntuusers.de/Screen/]], damit das Kommando in Hintergrund und losgelöst von der SSH-Verbindung verarbeitet werden kann.
72
73
74 ==== __Spezifisch für ldhost__ ====
75
76 Die hier beschriebene Option kann im Puppeteer-Container über die YAML-Datei {{box}}/etc/logodidact/hiera.d/custom.d/ldhost.yaml{{/box}} angepasst werden.
77
78
79 Um zwischen internen und externen SSH-Zugriffen unterscheiden zu können, wurde der SSH-Dienst neben Port 22 zusätzlich an den Port 1212 gebunden. Über die nachfolgende Variable ist es möglich, den verwendeten Port 1212 für den SSH-Dienst in der Zone "**extern**" zu ändern.
80
81 {{code language="bash"}}
82 ld_ssh::server::firewall_port: 1212 # Default-Port
83 {{/code}}
84
85 Ergänzend dazu ist eine manuelle Anpassung an der Shorewall rules-Datei für die richtige Zuordnung nötig. Diese Firewall-Regel wird im Artikel "[[SSH-Keys für Fernzugriff am LD-Server hinzufügen>>doc:xwiki:Main.LD Server.Puppet-Version.1\.5\.x.SSH-Keys für Fernzugriff am LD-Server hinzufügen.WebHome]]" genauer beschrieben.
86
87 (% class="box warningmessage" %)
88 (((
89 **Hinweis:** Von einer Anpassung dieser Optionen ist in der Regel abzuraten, dies wird nicht empfohlen!
90 )))