jborean93.win_openssh
Rôle Ansible win_openssh
Installe Win32-OpenSSH sur un hôte Windows.
Remarque : Ce rôle a été testé sur Win32-OpenSSH v7.7.2.0p1-Beta, les versions plus récentes devraient fonctionner mais cela n'est pas garanti.
Avec les paramètres par défaut, ce rôle va ;
- Installer
Win32-OpenSSHdansC:\Program Files\OpenSSHà partir de la dernière version disponible sur GitHub - Configurer les services
sshdetssh-agentet les paramétrer pour qu’ils démarrent automatiquement - Créer une règle de pare-feu qui permet le trafic entrant sur le port
22pour les profils réseauxdomaineetprivé - Configurer le fichier
sshd_configpour autoriser l'authentification par clé publique et par mot de passe
Les éléments suivants peuvent également être configurés dans le rôle, mais nécessitent que certaines variables optionnelles soient définies ;
- Spécifier une version spécifique à télécharger depuis GitHub ou une autre URL pointant vers le zip
- Spécifier où installer les exécutables
- Contrôler si les services du serveur SSH doivent être configurés
- Contrôler si les services SSH doivent démarrer automatiquement
- Définir les profils de pare-feu pour autoriser le trafic ssh entrant
- Spécifier le port et d'autres valeurs de configuration sshd_config
- Ajouter une ou plusieurs clé(s) publique(s) au profil de l'utilisateur actuel
Exigences
- Windows Server 2008 R2+
Variables
Variables obligatoires
Aucune, ce rôle fonctionnera avec les options par défaut.
Variables optionnelles
opt_openssh_architecture: L’architecture Windows, doit être définie sur32ou64(par défaut :64).opt_openssh_firewall_profiles: Les profils de pare-feu pour permettre le trafic SSH entrant (par défaut :domaine,privé).opt_openssh_install_path: Le répertoire pour installer les exécutables OpenSSH (par défaut :C:\Program Files\OpenSSH).opt_openssh_pubkeys: Une chaîne ou une liste de chaînes à ajouter au fichierauthorized_keysde l'utilisateur, par défaut aucune clé ne sera ajoutée. Siopt_openssh_shared_admin_keyestTrue, ces clés n'auront aucun effet sur l'authentification des utilisateurs Administrateurs.opt_openssh_setup_service: Indique si les composants de service sshd doivent être installés ou si seuls les exécutables client doivent être conservés (par défaut :True).opt_openssh_skip_start: Ne démarrera pas les servicessshdetssh-agentet ne les mettra pas en mode de démarrage automatique (par défaut :False).opt_openssh_temp_path: Le répertoire temporaire pour télécharger le zip et les fichiers extraits (par défaut :C:\Windows\TEMP).opt_openssh_url: Définit l'emplacement de téléchargement du zip OpenSSH, si omis, cela sera pris depuis le dépôt GitHub.opt_openssh_version: Définit une version spécifique à télécharger depuis GitHub, cela est valable uniquement lorsqueopt_openssh_urln'est pas défini (par défaut :latest).opt_openssh_zip_file: Le chemin vers un fichier zip de version OpenSSH qui sera utilisé pour installer OpenSSH. Cela sera utilisé à la place deopt_openssh_urlsi défini etopt_openssh_zip_remote_srccontrôle si le chemin est local à l'ordinateur de contrôle ou local à l'hôte Windows.opt_openssh_zip_remote_src: (par défaut :False)
Vous pouvez également personnaliser les valeurs suivantes de sshd_config :
opt_openssh_port: Correspond àPort, le port sur lequel le service SSH écoutera (par défaut :22).opt_openssh_pubkey_auth: Correspond àPubkeyAuthentication, indique si le service SSH autorisera l'authentification avec des clés SSH (par défaut :True).opt_openssh_password_auth: Correspond àPasswordAuthentication, indique si le service SSH autorisera l'authentification par mot de passe (par défaut :True).opt_openssh_shared_admin_key: Définit surTruepour que les Administrateurs utilisent une clé d'autorisation partagée à__PROGRAMDATA__/ssh/administrators_authorized_keys. Définit surFalsepour s'assurer que%USER_PROFILE%\.ssh\authorized_keysest utilisé pour tous les utilisateurs (par défaut :False).
Vous pouvez personnaliser les options de shell pour contrôler comment le service sshd démarre un nouveau shell :
opt_openssh_default_shell: Remplace le shell par défaut défini lors de l'installation d'OpenSSH. Cela devrait être le chemin absolu d'un exécutable que vous souhaitez exécuter lors du démarrage d'une session SSH.opt_openssh_default_shell_command_option: Définit les arguments utilisés lors de l'appel du shell, cela ne devrait pas être ajusté dans des circonstances normales.opt_openssh_default_shell_escape_args: Ignore l'échappement automatique des arguments lors de l'appel du shell.opt_openssh_powershell_subsystem: Définit le sous-système pour le téléversement PowerShell, doit être un chemin 8.3 comme :C:\PROGRA~1\POWERS~1\7\pwsh.exe(par défaut :indéfini).
Variables de sortie
Aucune
Dépendances du rôle
Aucune
Exemple de Playbook
- name: installer Win32-OpenSSH avec les paramètres par défaut
hosts: windows
gather_facts: no
roles:
- jborean93.win_openssh
- name: installer une version spécifique de Win32-OpenSSH dans un dossier personnalisé
hosts: windows
gather_facts: no
roles:
- role: jborean93.win_openssh
opt_openssh_install_path: C:\OpenSSH
opt_openssh_version: v7.7.2.0p1-Beta
- name: installer uniquement les composants client de Win32-OpenSSH
hosts: windows
gather_facts: no
roles:
- role: jborean93.win_openssh
opt_openssh_setup_service: False
Test
Pour tester ce rôle, allez dans le dossier tests et exécutez vagrant up. Cela démarrera un hôte Windows Server 2019 pour tester le rôle. Si l'hôte est déjà en ligne, exécuter vagrant provision relancera les tests.
Liste des tâches à faire
Aucune - les demandes de fonctionnalités sont les bienvenues.
ansible-galaxy install jborean93.win_openssh