2.2. Configuration des serveurs OpenSSH à l'aide du rôle de système sshd
Vous pouvez utiliser le rôle de système sshd
pour configurer plusieurs serveurs SSH en exécutant un script Ansible.
Vous pouvez utiliser le rôle système sshd
avec d'autres rôles système qui modifient la configuration de SSH et de SSHD, par exemple les rôles système RHEL de gestion des identités. Pour éviter que la configuration ne soit écrasée, assurez-vous que le rôle sshd
utilise des espaces de noms (RHEL 8 et versions antérieures) ou un répertoire de dépôt (RHEL 9).
Conditions préalables
-
Accès et autorisations à un ou plusieurs managed nodes, qui sont des systèmes que vous souhaitez configurer avec le rôle de système
sshd
. Accès et permissions à un control node, qui est un système à partir duquel Red Hat Ansible Core configure d'autres systèmes.
Sur le nœud de contrôle :
-
Les paquets
ansible-core
etrhel-system-roles
sont installés.
-
Les paquets
RHEL 8.0-8.5 donne accès à un dépôt Ansible distinct qui contient Ansible Engine 2.9 pour l'automatisation basée sur Ansible. Ansible Engine contient des utilitaires de ligne de commande tels que ansible
, ansible-playbook
, des connecteurs tels que docker
et podman
, ainsi que de nombreux plugins et modules. Pour plus d'informations sur la manière d'obtenir et d'installer Ansible Engine, consultez l'article de la base de connaissances Comment télécharger et installer Red Hat Ansible Engine.
RHEL 8.6 et 9.0 ont introduit Ansible Core (fourni en tant que paquetage ansible-core
), qui contient les utilitaires de ligne de commande Ansible, les commandes et un petit ensemble de plugins Ansible intégrés. RHEL fournit ce paquetage par l'intermédiaire du dépôt AppStream, et sa prise en charge est limitée. Pour plus d'informations, consultez l'article de la base de connaissances intitulé Scope of support for the Ansible Core package included in the RHEL 9 and RHEL 8.6 and later AppStream repositories (Portée de la prise en charge du package Ansible Core inclus dans les dépôts AppStream RHEL 9 et RHEL 8.6 et versions ultérieures ).
- Un fichier d'inventaire qui répertorie les nœuds gérés.
Procédure
Copiez l'exemple de playbook pour le rôle de système
sshd
:cp /usr/share/doc/rhel-system-roles/sshd/example-root-login-playbook.yml path/custom-playbook.yml
# cp /usr/share/doc/rhel-system-roles/sshd/example-root-login-playbook.yml path/custom-playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ouvrez le playbook copié en utilisant un éditeur de texte, par exemple :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le playbook configure le nœud géré en tant que serveur SSH configuré de telle sorte que :
-
et le login de l'utilisateur
root
est désactivé -
et
root
n'est possible qu'à partir du sous-réseau192.0.2.0/24
Vous pouvez modifier les variables en fonction de vos préférences. Pour plus de détails, voir Variables de rôle du système du serveur SSH.
-
et le login de l'utilisateur
Facultatif : Vérifier la syntaxe du playbook.
ansible-playbook --syntax-check path/custom-playbook.yml
# ansible-playbook --syntax-check path/custom-playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exécutez le playbook sur votre fichier d'inventaire :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Vérification
Connectez-vous au serveur SSH :
ssh user1@10.1.1.1
$ ssh user1@10.1.1.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Où ?
-
user1
est un utilisateur du serveur SSH. -
10.1.1.1
est l'adresse IP du serveur SSH.
-
Vérifiez le contenu du fichier
sshd_config
sur le serveur SSH :Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que vous pouvez vous connecter au serveur en tant que root depuis le sous-réseau
192.0.2.0/24
:Déterminez votre adresse IP :
hostname -I
$ hostname -I 192.0.2.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Si l'adresse IP se situe dans la plage
192.0.2.1
-192.0.2.254
, vous pouvez vous connecter au serveur.Se connecter au serveur en tant que
root
:ssh root@10.1.1.1
$ ssh root@10.1.1.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow