gamethis.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, basé sur la dernière version disponible sur GitHub - Configurer les services
sshdetssh-agentet les mettre en démarrage automatique - Créer une règle de pare-feu qui autorise le trafic entrant sur le port
22pour les profils de réseaudomainetprivate - 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 certains paramètres optionnels :
- Spécifier une version spécifique à télécharger depuis GitHub ou une autre URL pointant vers le fichier zip
- Indiquer où installer les binaires
- Contrôler la configuration des services SSH
- Contrôler le démarrage automatique des services SSH
- Définir les profils de pare-feu pour autoriser le trafic SSH entrant
- Spécifier le port et d'autres valeurs sélectionnées dans
sshd_config - Ajouter une ou plusieurs clés publiques au profil de l'utilisateur actuel
Conditions requises
- 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 autoriser le trafic SSH entrant (par défaut :domain,private).opt_openssh_install_path: Le répertoire d'installation des binaires 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 Admin.opt_openssh_shared_admin_pubkeys: Une chaîne ou une liste à ajouter au fichieradministrators_authorized_keys.opt_openssh_setup_service: Indique si les composants du service sshd doivent être installés ou si seuls les exécutables clients doivent être installés (par défaut :True).opt_openssh_skip_start: Ne démarre pas les servicessshdetssh-agentet ne les définit pas sur 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, il sera récupéré depuis le dépôt GitHub.opt_openssh_version: Définit une version spécifique à télécharger depuis GitHub, cela n'est valable que siopt_openssh_urln'est pas défini (par défaut :latest).opt_openssh_zip_file: Le chemin vers un fichier zip de sortie OpenSSH qui sera utilisé pour installer OpenSSH. Cela sera utilisé à la place deopt_openssh_urls'il est défini ;opt_openssh_zip_remote_srccontrôle si le chemin est local au contrôleur ou local à l'hôte Windows.opt_openssh_zip_remote_src: (par défaut :False)
Vous pouvez également personnaliser les valeurs suivantes dans sshd_config :
opt_openssh_port: Définit le port, le port sur lequel le service SSH écoutera (par défaut :22).opt_openssh_pubkey_auth: Définit si le service SSH autorisera l'authentification avec des clés SSH (par défaut :True).opt_openssh_password_auth: Définit 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 par l'installation OpenSSH. Cela devrait être le chemin absolu vers 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'invocation du shell, cela ne devrait pas être ajusté dans des circonstances normales.opt_openssh_default_shell_escape_args: Ignore les arguments d'échappement automatique lors de l'invocation du shell.opt_openssh_powershell_subsystem: Définit le sous-système pour le télétravail PowerShell, doit être un chemin 8.3 tel que :C:\PROGRA~1\POWERS~1\7\pwsh.exe(par défaut :undefined).
Variables de sortie
Aucune
Dépendances du rôle
Aucune
Exemple de Playbook
- name: installer Win32-OpenSSH avec les valeurs 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
Tests
Pour tester ce rôle, allez dans le dossier tests et exécutez vagrant up. Cela lancera 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 d'attente
Aucune - les demandes de fonctionnalités sont les bienvenues.
