jborean93.win_openssh

Rol de Ansible win_openssh

Rol de Ansible win_openssh en Ansible Galaxy

Instala Win32-OpenSSH en un host de Windows.

Nota: Esta rol ha sido probado en Win32-OpenSSH v7.7.2.0p1-Beta, versiones más nuevas deberían funcionar, pero no se garantiza.

Con las configuraciones predeterminadas, este rol hará lo siguiente:

  • Instala Win32-OpenSSH en C:\Program Files\OpenSSH basado en la última versión disponible en GitHub.
  • Configura los servicios sshd y ssh-agent y los establece para que inicien automáticamente.
  • Crea una regla de firewall que permite tráfico entrante en el puerto 22 para los perfiles de red dominio y privado.
  • Configura el archivo sshd_config para permitir autenticación por clave pública y contraseña.

También se pueden configurar lo siguiente como parte del rol, pero requieren que se establezcan algunas variables opcionales:

  • Especificar una versión específica para descargar desde GitHub o otra URL que apunte al zip.
  • Especificar dónde instalar los binarios.
  • Controlar si se configuran los servicios del servidor SSH.
  • Controlar si se configuran los servicios SSH para que inicien automáticamente.
  • Definir los perfiles de firewall para permitir el tráfico SSH entrante.
  • Especificar el puerto y otros valores seleccionados de sshd_config.
  • Agregar una o más claves públicas al perfil del usuario actual.

Requisitos

  • Windows Server 2008 R2 o superior.

Variables

Variables obligatorias

Ninguna, este rol funcionará con las opciones predeterminadas.

Variables opcionales

  • opt_openssh_architecture: La arquitectura de Windows, debe establecerse en 32 o 64 (predeterminado: 64).
  • opt_openssh_firewall_profiles: Los perfiles de firewall para permitir tráfico SSH entrante (predeterminado: dominio,privado).
  • opt_openssh_install_path: El directorio para instalar los binarios de OpenSSH (predeterminado: C:\Program Files\OpenSSH).
  • opt_openssh_pubkeys: Una cadena o lista de cadenas para agregar al archivo authorized_keys del usuario, por defecto no se agregarán claves. Si opt_openssh_shared_admin_key es True, estas claves no afectarán la autenticación de los usuarios administradores.
  • opt_openssh_setup_service: Si se deben instalar los componentes del servicio sshd o solo quedarse con los ejecutables del cliente (predeterminado: True).
  • opt_openssh_skip_start: No iniciará los servicios sshd y ssh-agent ni los establecerá para que inicien automáticamente (predeterminado: False).
  • opt_openssh_temp_path: El directorio temporal para descargar el zip y los archivos extraídos (predeterminado: C:\Windows\TEMP).
  • opt_openssh_url: Establece la ubicación de descarga del zip de OpenSSH, si se omite, se tomará del repositorio de GitHub.
  • opt_openssh_version: Establece una versión específica para descargar de GitHub, esto solo es válido cuando opt_openssh_url no está definido (predeterminado: latest).
  • opt_openssh_zip_file: La ruta a un archivo zip de lanzamiento de OpenSSH que se usará para instalar OpenSSH. Esto se usará en lugar de opt_openssh_url si se define y opt_openssh_zip_remote_src controla si la ruta es local al controlador o local al host de Windows.
  • opt_openssh_zip_remote_src: (predeterminado: False)

También puedes personalizar los siguientes valores de sshd_config:

  • opt_openssh_port: Se alinea con Port, el puerto en el que el servicio SSH escuchará (predeterminado: 22).
  • opt_openssh_pubkey_auth: Se alinea con PubkeyAuthentication, si el servicio SSH permitirá autenticación con claves SSH (predeterminado: True).
  • opt_openssh_password_auth: Se alinea con PasswordAuthentication, si el servicio SSH permitirá autenticación con contraseñas (predeterminado: True).
  • opt_openssh_shared_admin_key: Establecer en True para que los administradores utilicen una clave de autorización compartida en __PROGRAMDATA__/ssh/administrators_authorized_keys. Establecer en False para asegurarse de que %USER_PROFILE%\.ssh\authorized_keys se use para todos los usuarios (predeterminado: False).

Puedes personalizar las opciones de la shell para controlar cómo el servicio sshd inicia una nueva shell:

  • opt_openssh_default_shell: Sobrescribe la shell predeterminada establecida por la instalación de OpenSSH. Este debe ser la ruta absoluta a un ejecutable que quieras ejecutar al iniciar una sesión SSH.
  • opt_openssh_default_shell_command_option: Establece los argumentos usados al invocar la shell; esto no debe ser ajustado en circunstancias normales.
  • opt_openssh_default_shell_escape_args: Omite la escape automática de argumentos al invocar la shell.
  • opt_openssh_powershell_subsystem: Establece el subsistema para la remoción de Powershell; debe ser una ruta 8.3 como: C:\PROGRA~1\POWERS~1\7\pwsh.exe (predeterminado: undefined).

Variables de salida

Ninguna.

Dependencias de rol

Ninguna.

Ejemplo de Playbook

- name: instalar Win32-OpenSSH con las configuraciones predeterminadas
  hosts: windows
  gather_facts: no
  roles:
  - jborean93.win_openssh

- name: instalar una versión específica de Win32-OpenSSH en una carpeta personalizada
  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: solo instalar los componentes del cliente de Win32-OpenSSH
  hosts: windows
  gather_facts: no
  roles:
  - role: jborean93.win_openssh
    opt_openssh_setup_service: False

Pruebas

Para probar este rol, ve a la carpeta tests y ejecuta vagrant up. Esto levantará un host de Windows Server 2019 para probar el rol. Si el host ya está en línea, ejecutar vagrant provision volverá a ejecutar las pruebas.

Pendientes

Ninguno - se aceptan solicitudes de funciones.

Acerca del proyecto

Install Win32-OpenSSH on a Windows host

Instalar
ansible-galaxy install jborean93.win_openssh
Licencia
mit
Descargas
388.1k
Propietario