Wiki-Quellcode von Erweiterte SSH-Einstellungen am Server
Zuletzt geändert von superadmin am 2025/07/18 16:44
Verstecke letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
![]() |
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. |
![]() |
1.1 | 2 | |
![]() |
14.1 | 3 | {{toc start="4"/}} |
![]() |
1.1 | 4 | |
![]() |
14.1 | 5 | |
![]() |
16.1 | 6 | ==== __Containerübergreifend nutzbare Einstellungen__ ==== |
![]() |
15.1 | 7 | |
![]() |
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. | ||
![]() |
15.1 | 13 | * ((( |
![]() |
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. |
![]() |
15.1 | 15 | ))) |
16 | |||
![]() |
16.1 | 17 | ---- |
![]() |
13.1 | 18 | |
![]() |
16.1 | 19 | Festlegen, ob ein Login am Server als root-Benutzer im SSH-Dienst erlaubt ist: |
20 | |||
![]() |
2.1 | 21 | {{code language="bash"}} |
![]() |
16.1 | 22 | ld_ssh::server::permit_root_login: true / false # Default = true |
![]() |
2.1 | 23 | {{/code}} |
24 | |||
![]() |
16.1 | 25 | ---- |
![]() |
2.1 | 26 | |
![]() |
16.1 | 27 | Authentifizierung neben der Public-Key Methode auch per Passwort zulassen: |
![]() |
9.1 | 28 | |
![]() |
2.1 | 29 | {{code language="bash"}} |
![]() |
16.1 | 30 | ld_ssh::server::auth_passwd: true / false # Default = true |
![]() |
2.1 | 31 | {{/code}} |
32 | |||
![]() |
16.1 | 33 | ---- |
![]() |
2.1 | 34 | |
![]() |
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: |
![]() |
4.1 | 36 | |
![]() |
2.1 | 37 | {{code language="bash"}} |
![]() |
12.1 | 38 | ld_ssh::server::authorize::root::extern: true / false # Default = true |
39 | ld_ssh::server::authorize::root::intern: true / false # Default = true | ||
![]() |
2.1 | 40 | {{/code}} |
41 | |||
![]() |
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: |
![]() |
2.1 | 43 | |
![]() |
15.1 | 44 | {{code language="bash"}} |
![]() |
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 | ||
![]() |
15.1 | 56 | {{/code}} |
![]() |
2.1 | 57 | |
![]() |
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. |
![]() |
15.1 | 59 | |
![]() |
16.1 | 60 | ---- |
![]() |
10.1 | 61 | |
![]() |
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 | |||
![]() |
2.1 | 64 | {{code language="bash"}} |
![]() |
11.1 | 65 | # Folgende Standard-Einstellungen können bei Bedarf erhöht werden |
![]() |
2.1 | 66 | ld_ssh::server::auto_logout_timeouts: |
![]() |
11.1 | 67 | ssh: 12h |
![]() |
2.1 | 68 | console: 8h |
69 | {{/code}} | ||
![]() |
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. | ||
![]() |
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 | |||
![]() |
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. |
![]() |
20.1 | 86 | |
![]() |
22.1 | 87 | |
![]() |
20.1 | 88 | (% class="box warningmessage" %) |
89 | ((( | ||
![]() |
21.1 | 90 | **Hinweis:** Von einer Anpassung dieser Option ist in der Regel abzuraten, dies wird nicht empfohlen! |
![]() |
20.1 | 91 | ))) |