Zuletzt geändert von superadmin am 2025/07/18 16:44

Verstecke letzte Bearbeiter
Jonas Mayer 13.1 1 Ab der Puppet-Version 1.5.x kamen weitere SSH-Einstellungen hinzu, die für die Nutzung unter LogoDIDACT brauchbar sein können.
David Haido 1.1 2
Jonas Mayer 14.1 3 {{toc start="4"/}}
David Haido 1.1 4
Jonas Mayer 14.1 5
Jonas Mayer 16.1 6 ==== __Containerübergreifend nutzbare Einstellungen__ ====
Christian Germann 15.1 7
Jonas Mayer 16.1 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.
Christian Germann 15.1 13 * (((
Jonas Mayer 16.1 14 Einstellungen für den ldhost selbst müssen in der Datei  {{box}}/etc/logodidact/hiera/custom.d/ldhost.yaml{{/box}} gespeichert werden.
Christian Germann 15.1 15 )))
16
Jonas Mayer 16.1 17 ----
Jonas Mayer 13.1 18
Jonas Mayer 16.1 19 Festlegen, ob ein Login am Server als root-Benutzer im SSH-Dienst erlaubt ist:
20
David Haido 2.1 21 {{code language="bash"}}
Jonas Mayer 16.1 22 ld_ssh::server::permit_root_login: true / false # Default = true
David Haido 2.1 23 {{/code}}
24
Jonas Mayer 16.1 25 ----
David Haido 2.1 26
Jonas Mayer 16.1 27 Authentifizierung neben der Public-Key Methode auch per Passwort zulassen:
superadmin 9.1 28
David Haido 2.1 29 {{code language="bash"}}
Jonas Mayer 16.1 30 ld_ssh::server::auth_passwd: true / false # Default = true
David Haido 2.1 31 {{/code}}
32
Jonas Mayer 16.1 33 ----
David Haido 2.1 34
Jonas Mayer 16.1 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:
superadmin 4.1 36
David Haido 2.1 37 {{code language="bash"}}
superadmin 12.1 38 ld_ssh::server::authorize::root::extern: true / false # Default = true
39 ld_ssh::server::authorize::root::intern: true / false # Default = true
David Haido 2.1 40 {{/code}}
41
Jonas Mayer 16.1 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:
David Haido 2.1 43
Christian Germann 15.1 44 {{code language="bash"}}
Jonas Mayer 16.1 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
Christian Germann 15.1 56 {{/code}}
David Haido 2.1 57
Jonas Mayer 16.1 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.
Christian Germann 15.1 59
Jonas Mayer 16.1 60 ----
superadmin 10.1 61
Jonas Mayer 16.1 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
David Haido 2.1 64 {{code language="bash"}}
superadmin 11.1 65 # Folgende Standard-Einstellungen können bei Bedarf erhöht werden
David Haido 2.1 66 ld_ssh::server::auto_logout_timeouts:
superadmin 11.1 67 ssh: 12h
David Haido 2.1 68 console: 8h
69 {{/code}}
Jonas Mayer 16.1 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.
Jonas Mayer 19.1 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
superadmin 23.1 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:verffentlichtld40:Main.LD Server.Puppet-Version.1\.5\.x.SSH-Keys für Fernzugriff am LD-Server hinzufügen.WebHome]]" genauer beschrieben.
Jonas Mayer 20.1 86
Jonas Mayer 22.1 87
Jonas Mayer 20.1 88 (% class="box warningmessage" %)
89 (((
Jonas Mayer 21.1 90 **Hinweis:** Von einer Anpassung dieser Option ist in der Regel abzuraten, dies wird nicht empfohlen!
Jonas Mayer 20.1 91 )))