Version 18.1 von Christian Germann am 2022/05/24 09:10

Zeige letzte Bearbeiter
1 (% class="box errormessage" %)
2 (((
3 **Hinweis:** Von einer Anpassung der hier vorgestellten Optionen ist in der Regel abzuraten, dies wird nicht empfohlen!
4 )))
5
6
7 Ab der Puppet-Version 1.5.x kamen weitere SSH-Einstellungen hinzu, die für die Nutzung unter LogoDIDACT brauchbar sein können.
8
9 {{toc start="4"/}}
10
11
12 ==== __Spezifisch für ldhost__ ====
13
14 Die hier vorgestellte Option kann im Puppeteer-Container über die YAML-Datei {{box}}/etc/logodidact/hiera.d/custom.d/ldhost.yaml{{/box}} angepasst werden.
15
16
17 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.
18
19 {{code language="bash"}}
20 ld_ssh::server::firewall_port: 1212 # Default-Port
21 {{/code}}
22
23 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.
24
25
26
27 ==== __Containerübergreifend nutzbare Einstellungen__ ====
28
29 (% class="wikigeneratedid" id="HGFCltigkeitsbereichderEinstellungdurchAuswahlderSpeicherortsfestlegen" %)
30 (% id="cke_bm_186S" style="display:none" %) (%%)Der Speicherort der konfigurierten YAML-Datei gibt den Gültigkeitsbereich der Option am Server vor.
31
32 * 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.
33 * 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.
34 * (((
35 Einstellungen für den ldhost selbst müssen in der Datei  {{box}}/etc/logodidact/hiera/custom.d/ldhost.yaml{{/box}} gespeichert werden.
36 )))
37
38 ----
39
40 Festlegen, ob ein Login am Server als root-Benutzer im SSH-Dienst erlaubt ist:
41
42 {{code language="bash"}}
43 ld_ssh::server::permit_root_login: true / false # Default = true
44 {{/code}}
45
46 ----
47
48 Authentifizierung neben der Public-Key Methode auch per Passwort zulassen:
49
50 {{code language="bash"}}
51 ld_ssh::server::auth_passwd: true / false # Default = true
52 {{/code}}
53
54 ----
55
56 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:
57
58 {{code language="bash"}}
59 ld_ssh::server::authorize::root::extern: true / false # Default = true
60 ld_ssh::server::authorize::root::intern: true / false # Default = true
61 {{/code}}
62
63 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:
64
65 {{code language="bash"}}
66 root@puppeteer:~ $ /etc/logodidact/ssh/keys/[USERNAME]/[intern|extern|global]
67
68 # Hinweise:
69 # ---------
70 #
71 # * Zur Autorisierung einer SSH-Key Anmeldung für den root-Benutzer muss also "[USERNAME]" im Pfad durch "root" ersetzt werden
72 #
73 # * Im letzten Teil des Pfades gibt man vor, ob die SSH-Anmeldung mit dem entsprechenden Key...
74 # ... intern = nur für das lokale Netz (10.16.x.x) freigeschaltet werden soll
75 # ... extern = nur für Fernzugriffe auf den Server über das Internet freigeschaltet werden soll
76 # ... global = von beiden Seiten freigeschaltet werden soll, also für die interne & externe Zone
77 {{/code}}
78
79 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.
80
81 ----
82
83 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.
84
85 {{code language="bash"}}
86 # Folgende Standard-Einstellungen können bei Bedarf erhöht werden
87 ld_ssh::server::auto_logout_timeouts:
88 ssh: 12h
89 console: 8h
90 {{/code}}
91
92 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.