jborean93.win_openssh
Rol de Ansible win_openssh
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-OpenSSHenC:\Program Files\OpenSSHbasado en la última versión disponible en GitHub. - Configura los servicios
sshdyssh-agenty los establece para que inicien automáticamente. - Crea una regla de firewall que permite tráfico entrante en el puerto
22para los perfiles de reddominioyprivado. - Configura el archivo
sshd_configpara 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 en32o64(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 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_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 serviciossshdyssh-agentni 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 cuandoopt_openssh_urlno 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 deopt_openssh_urlsi se define yopt_openssh_zip_remote_srccontrola 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 conPort, el puerto en el que el servicio SSH escuchará (predeterminado:22).opt_openssh_pubkey_auth: Se alinea conPubkeyAuthentication, si el servicio SSH permitirá autenticación con claves SSH (predeterminado:True).opt_openssh_password_auth: Se alinea conPasswordAuthentication, si el servicio SSH permitirá autenticación con contraseñas (predeterminado:True).opt_openssh_shared_admin_key: Establecer enTruepara que los administradores utilicen una clave de autorización compartida en__PROGRAMDATA__/ssh/administrators_authorized_keys. Establecer enFalsepara asegurarse de que%USER_PROFILE%\.ssh\authorized_keysse 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.
ansible-galaxy install jborean93.win_openssh