jborean93.win_openssh

Rôle Ansible 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 dans C:\Program Files\OpenSSH à partir de la dernière version disponible sur GitHub
  • Configurer les services sshd et ssh-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éseaux domaine et privé
  • 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 sur 32 ou 64 (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 fichier authorized_keys de l'utilisateur, par défaut aucune clé ne sera ajoutée. Si opt_openssh_shared_admin_key est True, 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 services sshd et ssh-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 lorsque opt_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 de opt_openssh_url si défini et opt_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 sur True pour que les Administrateurs utilisent une clé d'autorisation partagée à __PROGRAMDATA__/ssh/administrators_authorized_keys. Définit sur False 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.

À propos du projet

Install Win32-OpenSSH on a Windows host

Installer
ansible-galaxy install jborean93.win_openssh
Licence
mit
Téléchargements
388.1k
Propriétaire