l3d.sshd

Ansible Galaxy MIT License

Serwer OpenSSH

Rola Ansible do konfigurowania serwera OpenSSH SSHD. Głównym celem tej roli jest zarządzanie plikiem sshd.conf oraz wdrażanie określonych kluczy hostów SSH w skonfigurowanej lokalizacji.

Porada

Używaj kryptografii krzywych eliptycznych dla swoich kluczy SSH:

ssh-keygen -t ed25519

Domyślne wartości tej roli pozwalają jedynie na klucze ed25519, ale możesz to zmienić według własnych potrzeb.

Zamierzona użyteczność

Ta rola jest zaprojektowana do zarządzania hostami Linux z następującymi rolami. Ta rola koncentruje się głównie na dobrej konfiguracji SSHD i może określać, którzy użytkownicy mają prawo łączyć się za pomocą SSH oraz jakie typy kluczy SSH są dozwolone. Inne role rozdystrybują publiczne klucze SSH, utworzą użytkowników oraz skonfigurują uprawnienia sudo, wdrożą pliki dotfiles lub zainstalują szereg użytecznych pakietów.

Lista sugerowanych ról do zarządzania hostem Linux:

Dobre do wiedzenia:

Wymienione role używają tych samych zmiennych do tworzenia kont, administratorów itd. Rola musi być uruchamiana we właściwej kolejności, aby działała poprawnie. Na przykład nie możesz wdrożyć publicznego klucza SSH dla użytkownika, który nie został utworzony.

Wyjaśnienie niektórych zmiennych

Pamiętaj: Zajrzyj do defaults/main.yml po wszystkie możliwe zmienne.

  • Port SSH
    Port OpenSSH jest zdefiniowany zmienną sshd__port: 22. Zmień to, jeśli chcesz.

  • Dozwoleni użytkownicy i grupy
    Domyślni użytkownicy, którzy mogą się zalogować, pochodzą z listy users: {}.
    Ta sama zmienna users: {} jest używana w innych polecanych rolach SSH.
    Przykład, aby zezwolić na logowanie dla użytkowników i grup o nazwach l3d i ottojo:

users:
  l3d:
    - l3d
  ottojo:
   - ottojo@uni
   - ottojo@home
  • Logowanie SSH za pomocą hasła
    Autoryzacja hasła SSH jest ustawiona na false przez sshd__password_authentication: false. To nie pozwoli się zalogować za pomocą hasła przez SSH.

  • Zarządzaj typami kluczy SSH
    Domyślnie ta rola konfiguruje, które typy kluczy SSH mogą się zalogować. Jeśli nie chcesz tego definiować, zmień zmienną sshd__manage_key_types: true.

  • Zdefiniowane dozwolone typy kluczy SSH
    Dozwolone typy kluczy SSH są określone w tej liście. Niektóre z nich są skomentowane.
    Pamiętaj, że domyślnie dozwolone są tylko klucze ed25519. Pamiętaj o tym, jeśli używasz klucza rsa.

  sshd__key_types:
  - 'ed25519'
  # - 'rsa'
  # - 'ecdsa'
  # - 'dsa' # (nie używaj!)
  • Zaawansowane ustawienia algorytmów SSH
    Możesz zdefiniować używane algorytmy kluczy i Kex tutaj. Dla domyślnych wartości i przykładów zmiennych sshd__key_algorithmus i sshd__kex_algorithmus spójrz do defaults/main.yml. Możesz to wyłączyć, ustawiając sshd__manage_key_algorithmus i sshd__manage_kex_algorithmus na false.

  • wymuszenie nowych funkcji SSH
    Jeśli wiesz, że używasz wersji SSH >8, możesz opcjonalnie zdefiniować to ze zmienną sshd__version_is_above_eight w wartościach true/false.

Pliki

Głównym zadaniem tej roli jest skonfigurowanie pliku sshd.conf.

Odnośniki

Testowanie

Ta rola jest testowana za pomocą kilku testów lintingowych. Niestety nie wiem, jak uruchomić tę rolę w kontenerze docker, ponieważ zaangażowany jest systemd... Jeśli masz pomysły, jak poprawić testy, wyślij mi wiadomość, otwórz zgłoszenie lub Pull Request. Jeśli chcesz dowiedzieć się więcej o naszych testach, spójrz do github marketplace.

status testu Github Marketplace
Galaxy release publish-ansible-role-to-galaxy
Yamllint GitHub Actions yamllint-github-action
Ansible Lint check ansible-lint action
O projekcie

Manage your SSH Server - and deploy a good sshd configuration

Zainstaluj
ansible-galaxy install l3d.sshd
Licencja
mit
Pobrania
60.2k
Właściciel
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy