informatiquecdc.win_authorized_key
win_authorized_key - 添加或删除 SSH 授权密钥
概述
- Ansible 模块用于在基于 Windows 的系统上为特定用户帐户添加或删除 SSH 授权密钥。
需求
在执行此模块的主机上需要满足以下要求。
- Win32 OpenSSH
参数
参数 | 选择项/默认值 | 说明 |
---|---|---|
user 字符串 / 必需 |
需要修改的远程主机上的用户名,该用户的 authorized_keys 文件将被修改 | |
key 字符串 / 必需 |
SSH 公钥,可以是字符串或 (自 1.9 起) url https://github.com/username.keys | |
path 字符串 |
默认: (homedir)+/.ssh/authorized_keys |
授权密钥文件的备用路径 |
manage_dir 布尔值 |
选择项:
|
此模块是否应该管理授权密钥文件的目录。 如果设置为“是”,模块将创建目录,并设置已有目录的所有者和权限。 如果您使用与 path 设置的授权密钥不同的目录,请确保将 manage_dir 设置为 否 ,因为这样会导致您无法访问 SSH。请参见下面的示例。 |
state 字符串 |
选择项:
|
指定的密钥 (及其密钥选项) 是否应该在文件中 |
key_options 字符串 |
需要添加到 authorized_keys 文件中的 SSH 密钥选项字符串 | |
exclusive 布尔值 |
选择项:
|
是否从 authorized_keys 文件中删除所有其他未指定的密钥。多个密钥可以通过换行符分隔,在单个 key 字符串值中指定。 此选项不适用于循环,如果您使用 with_ ,它将在循环的每次迭代中排他性地处理。如果要将多个密钥放入文件中,需将它们作为一批全部传递给 key 。 |
validate_certs 布尔值 |
选择项:
|
仅在使用 HTTPS URL 作为密钥源时适用。 如果设置为 否 ,则不会验证 SSL 证书。这只能在使用自签名证书的个人控制网站上设置为 否 ,因为这会避免验证源网站。 |
comment 字符串 |
更改公钥上的注释。在从 GitHub 或 GitLab 获取时,重写注释非常有用。 如果未指定注释,将保留现有注释。 |
|
follow 布尔值 |
选择项:
|
跟随路径符号链接而不是替换它 |
示例
---
roles:
- win_authorized_key
tasks:
- name: 从文件设置授权密钥
win_authorized_key:
user: charlie
state: present
key: "{{ lookup('file', 'c:/users/charlie/.ssh/id_rsa.pub') }}"
- name: 从 URL 设置授权密钥
win_authorized_key:
user: charlie
state: present
key: https://github.com/charlie.keys
- name: 在备用位置设置授权密钥
win_authorized_key:
user: charlie
state: present
key: "{{ lookup('file', 'c:/users/charlie/.ssh/id_rsa.pub') }}"
path: c:/ProgramData/ssh/administrators_authorized_key
manage_dir: False
- name: 设置多个授权密钥
win_authorized_key:
user: deploy
state: present
key: '{{ item }}'
with_file:
- public_keys/doe-jane
- public_keys/doe-john
- name: 设置定义密钥选项的授权密钥
win_authorized_key:
user: charlie
state: present
key: "{{ lookup('file', 'c:/users/charlie/.ssh/id_rsa.pub') }}"
key_options: 'no-port-forwarding,from="10.0.1.1"'
- name: 在不验证 TLS/SSL 证书的情况下设置授权密钥
win_authorized_key:
user: charlie
state: present
key: https://github.com/user.keys
validate_certs: False
- name: 设置授权密钥,移除所有已设置的授权密钥
win_authorized_key:
user: administrator
key: '{{ item }}'
state: present
exclusive: True
with_file:
- public_keys/doe-jane
返回值
常见返回值的文档见 这里,以下是此模块特有的字段:
键 | 返回值 | 描述 |
---|---|---|
exclusive 布尔值 |
成功 | 密钥是否被强制为单一的。 示例: False |
key 字符串 |
成功 | 模块正在处理的密钥。 示例: https://github.com/user.keys |
key_option 字符串 |
成功 | 与密钥相关的密钥选项。 |
keyfile 字符串 |
成功 | 授权密钥文件的路径。 示例: C:/users/charlie/.ssh/authorized_keys |
manage_dir 布尔值 |
成功 | 此模块是否管理授权密钥文件的目录。 示例: True |
path 字符串 |
成功 | 授权密钥文件的备用路径。 |
state 字符串 |
成功 | 指定的密钥 (及其密钥选项) 是否应该在文件中。 示例: present |
unique 布尔值 |
成功 | 密钥是否唯一。 示例: False |
user 字符串 |
成功 | 需要修改的远程主机上的用户名。 示例: user |
validate_certs 布尔值 |
成功 | 仅在使用 HTTPS URL 作为密钥源时适用。如果设置为 否 ,将不会验证 SSL 证书。示例: True |
作者
- Stéphane Bilqué (@sbilque) - PowerShell 中的翻译
- Brad Olson (brado@movedbylight.com) - 最初的 Python 工作
许可证
该项目遵循 GNU 通用公共许可证 v3.0。
查看 LICENSE 以查看完整文本。
关于项目
Adds or removes SSH authorized keys for particular user accounts on Windows-based systems.
安装
ansible-galaxy install informatiquecdc.win_authorized_key
许可证
gpl-3.0
下载
6.7k
拥有者
Informatique CDC, subsidiary of Group Caisse des Dépôts is a key player in IT services and digital trust.