gamethis.win_openssh
Rol de Ansible win_openssh
Instala Win32-OpenSSH en un host de Windows.
Nota: Este rol ha sido probado en Win32-OpenSSH v7.7.2.0p1-Beta, versiones más nuevas deberían funcionar, pero no hay garantía.
Con las opciones predeterminadas, este rol hará;
- Instalar
Win32-OpenSSHenC:\Program Files\OpenSSHbasado en la última versión disponible en GitHub. - Configurar los servicios
sshdyssh-agenty hacer que se inicien automáticamente. - Crear una regla de firewall que permita el tráfico entrante en el puerto
22para los perfiles de reddominioyprivado. - Configurar el archivo
sshd_configpara permitir la autenticación con clave pública y contraseña.
También se pueden configurar las siguientes opciones 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 deben configurar los servicios del servidor SSH.
- Controlar si los servicios SSH deben iniciarse 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(s) clave(s) pública(s) al perfil del usuario actual.
Requisitos
- Windows Server 2008 R2 o superior.
Variables
Variables Obligatorias
Ninguna, este rol se ejecutará con las opciones predeterminadas establecidas.
Variables Opcionales
opt_openssh_architecture: La arquitectura de Windows, debe estar configurada como32o64(predeterminado:64).opt_openssh_firewall_profiles: Los perfiles de firewall para permitir el tráfico SSH entrante (predeterminado:dominio,privado).opt_openssh_install_path: El directorio donde se instalarán los binarios OpenSSH (predeterminado:C:\Program Files\OpenSSH).opt_openssh_pubkeys: Una cadena o lista de cadenas para agregar al archivoauthorized_keysdel usuario, por defecto no se agregarán claves. Siopt_openssh_shared_admin_keyesTrue, estas claves no afectarán la autenticación de los usuarios administradores.opt_openssh_shared_admin_pubkeys: Una cadena o lista de cadenas para agregar al archivo de claves autorizadas de administradores.opt_openssh_setup_service: Si se deben instalar los componentes del servicio sshd o solo mantener los ejecutables de cliente (predeterminado:True).opt_openssh_skip_start: No iniciará el serviciosshdyssh-agenty tampoco se establecerá para iniciar 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 obtendrá del repositorio de GitHub.opt_openssh_version: Establece una versión específica para descargar desde GitHub, esto solo es válido cuandoopt_openssh_urlno está configurado (predeterminado:latest).opt_openssh_zip_file: La ruta a un archivo zip de versión de OpenSSH que se utilizará para instalar OpenSSH. Esto se usará en lugar deopt_openssh_urlsi se define, yopt_openssh_zip_remote_srccontrola si la ruta es local para el controlador o local para el host de Windows.opt_openssh_zip_remote_src: (predeterminado:False)
También puede personalizar los siguientes valores de sshd_config:
opt_openssh_port: Alinea conPort, el puerto en el que el servicio SSH escuchará (predeterminado:22).opt_openssh_pubkey_auth: Alinea conPubkeyAuthentication, si el servicio SSH permitirá autenticación con claves SSH (predeterminado:True).opt_openssh_password_auth: Alinea conPasswordAuthentication, si el servicio SSH permitirá autenticación con contraseñas (predeterminado:True).opt_openssh_shared_admin_key: Establecer enTruepara que los administradores usen una clave de autorización compartida en__PROGRAMDATA__/ssh/administrators_authorized_keys. Establecer enFalsepara asegurar que se use%USER_PROFILE%\.ssh\authorized_keyspara todos los usuarios (predeterminado:False).
Puede personalizar las opciones de shell para controlar cómo el servicio sshd inicia un nuevo shell:
opt_openssh_default_shell: Sobrescribe el shell predeterminado establecido por la instalación de OpenSSH. Este debe ser el camino absoluto a un ejecutable que desea ejecutar al iniciar una sesión SSH.opt_openssh_default_shell_command_option: Establece los argumentos utilizados al invocar el shell, esto no debe ajustarse en circunstancias normales.opt_openssh_default_shell_escape_args: Omite el escape automático de argumentos al invocar el shell.opt_openssh_powershell_subsystem: Establece el subsistema para la remoción de PowerShell, necesita ser una ruta 8.3 como:C:\PROGRA~1\POWERS~1\7\pwsh.exe(predeterminado:indefinido).
Variables de Salida
Ninguna
Dependencias del Rol
Ninguna
Ejemplo de Playbook
- name: instalar Win32-OpenSSH con los valores predeterminados
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 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 correr las pruebas.
Pendientes
Ninguno - se aceptan solicitudes de características.
ansible-galaxy install gamethis.win_openssh