gamethis.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或其他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_shared_admin_pubkeys:要添加到admin的authorized_keys文件的字符串或字符串列表。
  • 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(默认:未定义

输出变量

角色依赖

示例剧本

- 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 gamethis.win_openssh
许可证
mit
下载
22.3k
拥有者
Automation is a lifestyle