gamethis.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, basé sur la dernière version disponible sur GitHub
  • Configurer les services sshd et ssh-agent et les mettre en démarrage automatique
  • Créer une règle de pare-feu qui autorise le trafic entrant sur le port 22 pour les profils de réseau domain et private
  • 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 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 sur 32 ou 64 (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 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 Admin.
  • opt_openssh_shared_admin_pubkeys : Une chaîne ou une liste à ajouter au fichier administrators_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 services sshd et ssh-agent et 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 si opt_openssh_url n'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 de opt_openssh_url s'il est défini ; opt_openssh_zip_remote_src contrô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 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 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.

À propos du projet

Install Win32-OpenSSH on a Windows host

Installer
ansible-galaxy install gamethis.win_openssh
Licence
mit
Téléchargements
22.3k
Propriétaire
Automation is a lifestyle