l3d.sshd

Serveur OpenSSH

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

Rôle Ansible pour configurer le serveur OpenSSH SSHD.
L'objectif principal de ce rôle est de gérer le fichier sshd.conf et d'autres éléments comme le déploiement des clés d'hôte SSH définies au chemin configuré.

Conseil Pro


Utilisez la cryptographie à courbe elliptique pour vos clés SSH :

ssh-keygen -t ed25519

Les valeurs par défaut de ce rôle ne permettront que les clés ed25519, mais vous pouvez bien sûr les modifier si vous le souhaitez.

Utilisation prévue


Ce rôle est conçu pour gérer les hôtes linux avec les rôles suivants. Il se concentre principalement sur une bonne configuration de sshd et peut définir quels utilisateurs sont autorisés à se connecter via SSH et quels types de clés SSH sont autorisés.
D'autres rôles distribuent des clés publiques SSH, créent des utilisateurs, configurent les autorisations sudo, déploient des fichiers de configuration, ou installent un certain nombre de paquets utiles.

Une liste de rôles suggérés pour gérer votre hôte linux :

Bon à savoir :


Les rôles listés utilisent les mêmes variables pour créer des comptes, des administrateurs, etc. Mais les rôles doivent être exécutés dans le bon ordre pour fonctionner correctement.
Par exemple, vous ne pouvez pas déployer une clé publique SSH pour un utilisateur qui n'est pas créé.

Quelques variables expliquées


Souvenez-vous : Consultez defaults/main.yml pour toutes les variables possibles.

  • Port SSH
    Le port OpenSSH est défini par la variable sshd__port: 22. Changez-le si vous le souhaitez.

  • Utilisateurs et groupes autorisés
    Les utilisateurs par défaut qui sont autorisés à se connecter proviennent de la liste users: {}.
    La même variable users: {} est utilisée dans les autres rôles SSH recommandés.
    Un exemple pour autoriser la connexion des utilisateurs et groupes appelés l3d et ottojo :

users:
  l3d:
    - l3d
  ottojo:
    - ottojo@uni
    - ottojo@home
  • Connexion SSH par mot de passe
    L'authentification par mot de passe SSH est désactivée par sshd__password_authentication: false. Cela ne vous permettra pas d'utiliser votre mot de passe pour vous connecter via SSH.

  • Gérer les types de clés SSH
    Par défaut, ce rôle configure quels types de clés SSH sont autorisés à se connecter. Si vous ne souhaitez pas définir cela, changez la variable sshd__manage_key_types: true.

  • Définir les types de clés SSH autorisés
    Les types de clés SSH autorisés sont définis par cette liste. Certains d'entre eux sont commentés.
    Veuillez noter qu'en vertu des valeurs par défaut, seules les clés ed25519 sont autorisées. Tenez-en compte si vous utilisez une clé rsa.

  sshd__key_types:
  - 'ed25519'
  # - 'rsa'
  # - 'ecdsa'
  # - 'dsa' # (ne pas utiliser !)
  • Paramètres avancés des algorithmes SSH
    Vous pouvez définir ici les algorithmes de clé et de Kex utilisés. Pour les valeurs par défaut et quelques exemples pour les variables sshd__key_algorithmus et sshd__kex_algorithmus, consultez defaults/main.yml.
    Vous pouvez les désactiver en définissant sshd__manage_key_algorithmus et sshd__manage_kex_algorithmus sur false.

  • Forcer les nouvelles fonctionnalités SSH
    Si vous savez que vous utilisez une version SSH >8, vous pouvez éventuellement le définir avec true/false avec la variable sshd__version_is_above_eight.

Fichiers


La tâche principale de ce rôle est de configurer le fichier sshd.conf.

Références


Tests


Ce rôle est testé avec quelques tests de linting. Malheureusement, je ne sais pas comment exécuter ce rôle dans un conteneur Docker car systemd est impliqué... Si vous avez des idées pour améliorer les tests, veuillez m'envoyer un message, ouvrir un problème ou une Pull Request.
Si vous voulez en savoir plus sur nos tests, veuillez consulter le marketplace de GitHub.

statut des tests Marché GitHub
Version Galaxy publier le rôle ansible sur galaxy
Yamllint GitHub Actions action yamllint-github
Vérification Ansible Lint action ansible-lint
À propos du projet

Manage your SSH Server - and deploy a good sshd configuration

Installer
ansible-galaxy install l3d.sshd
Licence
mit
Téléchargements
60.2k
Propriétaire
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy