jborean93.win_openssh

Ansible角色 win_openssh

win_openssh Ansible Galaxy角色

在Windows主机上安装Win32-OpenSSH

_注意:此角色已在Win32-OpenSSH v7.7.2.0p1-Beta上测试,较新版本应该可以正常工作,但不保证_。

使用默认设置,此角色将:

  • Win32-OpenSSH安装到C:\Program Files\OpenSSH,基于GitHub上最新的发布版本
  • 设置sshdssh-agent服务,并设置为自动启动
  • 创建防火墙规则,允许domainprivate网络配置在端口22上的入站流量
  • 配置sshd_config文件以允许公钥和密码身份验证

以下配置也可以作为角色的一部分,但需要设置一些可选变量:

  • 指定要从GitHub或其他指向zip文件的URL下载的特定版本
  • 指定安装二进制文件的位置
  • 控制是否设置SSH服务器服务
  • 控制是否将SSH服务设置为自动启动
  • 定义防火墙配置文件以允许入站SSH流量
  • 指定端口和其他选定的sshd_config值
  • 将公钥添加到当前用户的配置中

要求

  • Windows Server 2008 R2及以上版本

变量

必需变量

无,此角色将使用默认选项运行。

可选变量

  • opt_openssh_architecture:Windows架构,必须设置为3264(默认:64)。
  • opt_openssh_firewall_profiles:允许入站SSH流量的防火墙配置文件(默认:domain,private)。
  • opt_openssh_install_path:安装OpenSSH二进制文件的目录(默认:C:\Program Files\OpenSSH)。
  • opt_openssh_pubkeys:要添加到用户的authorized_keys文件的字符串或字符串列表,默认情况下不会添加任何密钥。如果opt_openssh_shared_admin_keyTrue,则这些密钥对任何管理员用户的身份验证没有影响。
  • opt_openssh_setup_service:是否安装sshd服务组件或仅保留客户端可执行文件(默认:True)。
  • opt_openssh_skip_start:不启动sshdssh-agent服务,也不设置为自动启动(默认:False)。
  • opt_openssh_temp_path:下载的zip和解压缩文件的临时目录(默认:C:\Windows\TEMP)。
  • opt_openssh_url:设置OpenSSH zip的下载位置,如果省略,将从GitHub仓库获取。
  • opt_openssh_version:设置特定版本从GitHub下载,仅在opt_openssh_url未设置时有效(默认:latest)。
  • opt_openssh_zip_file:将用于安装OpenSSH的OpenSSH zip发布文件的路径。如果定义了此路径,将使用此路径而不是opt_openssh_url,并且opt_openssh_zip_remote_src控制路径是本地的还是Windows主机的。
  • opt_openssh_zip_remote_src:(默认:False

您还可以自定义以下sshd_config值:

  • opt_openssh_port:对应于Port,SSH服务监听的端口(默认:22)。
  • opt_openssh_pubkey_auth:对应于PubkeyAuthentication,SSH服务是否允许使用SSH密钥进行身份验证(默认:True)。
  • opt_openssh_password_auth:对应于PasswordAuthentication,SSH服务是否允许使用密码进行身份验证(默认:True)。
  • opt_openssh_shared_admin_key:设置为True,则管理员使用位于__PROGRAMDATA__/ssh/administrators_authorized_keys的共享授权密钥。设置为False以确保所有用户使用%USER_PROFILE%\.ssh\authorized_keys(默认:False)。

您可以自定义Shell选项以控制sshd服务如何启动新Shell:

  • opt_openssh_default_shell:覆盖OpenSSH安装时设置的默认Shell。这个应该是您希望在启动SSH会话时运行的可执行文件的绝对路径。
  • opt_openssh_default_shell_command_option:设置启动Shell时使用的参数,在正常情况下不应调整。
  • opt_openssh_default_shell_escape_args:在调用Shell时跳过自动转义参数。
  • opt_openssh_powershell_subsystem:设置PowerShell远程的子系统,需要一个8.3路径,如:C:\PROGRA~1\POWERS~1\7\pwsh.exe(默认:undefined)。

输出变量

角色依赖

示例剧本

- name: 使用默认设置安装Win32-OpenSSH
  hosts: windows
  gather_facts: no
  roles:
  - jborean93.win_openssh

- name: 将特定版本的Win32-OpenSSH安装到自定义文件夹
  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: 仅安装Win32-OpenSSH的客户端组件
  hosts: windows
  gather_facts: no
  roles:
  - role: jborean93.win_openssh
    opt_openssh_setup_service: False

测试

要测试此角色,进入tests文件夹并运行vagrant up。这将启动一个Windows Server 2019主机来测试该角色。如果主机已在线,运行vagrant provision将重新运行测试。

待办事项

无 - 欢迎提出功能请求

关于项目

Install Win32-OpenSSH on a Windows host

安装
ansible-galaxy install jborean93.win_openssh
许可证
mit
下载
388.1k
拥有者