l3d.sshd

OpenSSH Server

====================

Ansible-Rolle zur Konfiguration des OpenSSH Servers SSHD. Hauptziel dieser Rolle ist die Verwaltung der Datei sshd.conf und das Bereitstellen der definierten SSH-Host-Schlüssel am konfigurierten Pfad.

Tipp


Verwenden Sie elliptische Kurven-Kryptografie für Ihre SSH-Schlüssel:

ssh-keygen -t ed25519

Die Standardwerte dieser Rolle erlauben nur ed25519-Schlüssel. Sie können dies jedoch ändern, wenn Sie möchten.

Geplanter Einsatz


Diese Rolle ist dafür gedacht, Linux-Hosts mit den folgenden Rollen zu verwalten. Diese Rolle konzentriert sich grundsätzlich nur auf eine gute Konfiguration von sshd und kann definieren, welche Benutzer sich per SSH verbinden dürfen und welche Schlüsseltypen erlaubt sind. Andere Rollen verteilen SSH-Öffentlichkeitsschlüssel, erstellen Benutzer, konfigurieren sudo-Berechtigungen, rollout dotfiles oder installieren eine Reihe nützlicher Pakete.

Hier ist eine Liste empfohlener Rollen zur Verwaltung Ihres Linux-Hosts:

Gut zu wissen:


Die angegebenen Rollen verwenden die gleichen Variablen zur Erstellung von Konten, Administratoren usw. Aber die Rollen müssen in der richtigen Reihenfolge ausgeführt werden, um richtig zu funktionieren. Zum Beispiel können Sie keinen SSH-Public-Key für einen Benutzer bereitstellen, der noch nicht erstellt wurde.

Einige Variablen erklärt


Denken Sie daran: Sehen Sie sich defaults/main.yml an, um alle möglichen Variablen zu finden.

  • SSH-Port
    Der OpenSSH-Port ist mit der Variablen sshd__port: 22 definiert. Ändern Sie ihn nach Belieben.

  • Erlaubte Benutzer und Gruppen
    Die Standardbenutzer, die sich anmelden dürfen, stammen aus der Liste users: {}.
    Dieselbe Variable users: {} wird in den anderen empfohlenen SSH-Rollen verwendet.
    Ein Beispiel, um die Anmeldung für die Benutzer und Gruppen l3d und ottojo zuzulassen:

users:
  l3d:
    - l3d
  ottojo:
   - ottojo@uni
   - ottojo@home
  • SSH-Anmeldung über Passwort
    Die SSH-Passwortauthentifizierung ist über sshd__password_authentication: false auf false gesetzt. Dies erlaubt es Ihnen nicht, Ihr Passwort zur Anmeldung über SSH zu verwenden.

  • Verwaltung der SSH-Schlüsseltypen
    Standardmäßig legt diese Rolle fest, welche SSH-Schlüsseltypen zur Anmeldung erlaubt sind. Wenn Sie dies nicht definieren möchten, ändern Sie die Variable sshd__manage_key_types: true.

  • Definieren Sie erlaubte SSH-Schlüsseltypen
    Die erlaubten SSH-Schlüsseltypen sind in dieser Liste definiert. Einige von ihnen sind auskommentiert.
    Bitte beachten Sie, dass standardmäßig nur ed25519-Schlüssel erlaubt sind. Behalten Sie dies im Hinterkopf, wenn Sie einen RSA-Schlüssel verwenden.

  sshd__key_types:
  - 'ed25519'
  # - 'rsa'
  # - 'ecdsa'
  # - 'dsa' # (nicht verwenden!)
  • Erweiterte SSH-Algorithmuseinstellungen
    Sie können hier auch den verwendeten Schlüssel- und Kex-Algorithmus definieren. Für die Standardwerte und einige Beispiele für die Variablen sshd__key_algorithmus und sshd__kex_algorithmus sehen Sie sich defaults/main.yml an. Sie können dies deaktivieren, indem Sie sshd__manage_key_algorithmus und sshd__manage_kex_algorithmus auf false setzen.

  • Neue SSH-Funktionen erzwingen
    Wenn Sie wissen, dass Sie eine SSH-Version >8 verwenden, können Sie dies optional mit true/false mit der Variablen sshd__version_is_above_eight definieren.

Dateien


Die Hauptaufgabe dieser Rolle besteht darin, die Datei sshd.conf zu konfigurieren.

Referenzen


Testen


Diese Rolle wird mit einigen Linting-Tests getestet. Leider weiß ich nicht, wie ich diese Rolle in einem Docker-Container ausführen kann, da systemd beteiligt ist... Wenn Sie Ideen zur Verbesserung der Tests haben, senden Sie mir bitte eine Nachricht, öffnen Sie ein Issue oder einen Pull Request. Wenn Sie mehr über unsere Tests erfahren möchten, schauen Sie sich bitte den GitHub-Marktplatz an.

Teststatus GitHub-Marktplatz
Galaxy-Release Ansible-Rolle im Galaxy veröffentlichen
Yamllint GitHub-Aktionen yamllint-github-action
Ansible-Lint-Überprüfung ansible-lint action
Über das Projekt

Manage your SSH Server - and deploy a good sshd configuration

Installieren
ansible-galaxy install l3d.sshd
GitHub Repository
Lizenz
mit
Downloads
60.2k
Besitzer
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy