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-OpenSSH
dansC:\Program Files\OpenSSH
à partir de la dernière version disponible sur GitHub - Configurer les services
sshd
etssh-agent
et 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
22
pour les profils réseauxdomaine
etprivé
- Configurer le fichier
sshd_config
pour 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 sur32
ou64
(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_keys
de l'utilisateur, par défaut aucune clé ne sera ajoutée. Siopt_openssh_shared_admin_key
estTrue
, 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 servicessshd
etssh-agent
et 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_url
n'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_url
si défini etopt_openssh_zip_remote_src
contrô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 surTrue
pour que les Administrateurs utilisent une clé d'autorisation partagée à__PROGRAMDATA__/ssh/administrators_authorized_keys
. Définit surFalse
pour s'assurer que%USER_PROFILE%\.ssh\authorized_keys
est 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