compscidr.gpg
ansible-gpg
Ansible模块,用于通过keybase.io或文件导入和删除GPG密钥。
基于Brandon Kalinowski和Thelonius Kort的工作。已更新,使其可以发布到ansible-galaxy。
使用此模块,管理GPG密钥非常简单。只需指定keybase用户名以及密钥邮箱或密钥指纹。您还可以从文件中导入密钥。
ansible的fetch_url方法用于通过HTTPS安全下载公钥。
使用key_file
时,key_id
会自动从文件中确定。
除了增加keybase.io功能外,此模块还会自动将添加的密钥标记为最终信任,从而使配置的机器能够为导入的用户加密文件。
选项
名称 | 默认值 | 描述 |
---|---|---|
keybase_user | null | 要在Keybase上获取的用户名。当指定时,模块会自动下载https://keybase.io/ |
key_id | null | 要获取和导入的密钥ID。仅适用于公钥。需要提供key_file或key_id。 |
key_file | null | 要导入的密钥文件名。必须在远程机器上,而不是本地。需要提供key_file或key_id。 |
key_type | 'public' | 要导入的密钥类型。仅适用于key_file。 |
bin_path | /usr/bin/gpg | 远程gpg二进制文件的位置 |
state | 'present' | 所需状态'present'、'latest'或'absent' |
当与不正常的密钥一起使用时,会出现奇怪的行为。但这是一个gpg问题。
通过galaxy安装:
ansible-galaxy install compscidr.gpg
通过galaxy/requirements安装
将以下内容添加到requirements.yml
roles:
- name: compscidr.gpg
然后运行
ansible-galaxy install -r requirements.yml
通过git/requirements安装
将以下内容添加到您的requirements.yml
文件:
# 从github
- src: https://github.com/compscidr/ansible-gpg
name: compscidr.gpg
然后运行
ansible-galaxy install -r requirements.yml
示例剧本
---
- name: GPG模块示例
hosts: vagrant
gather_facts: false
roles:
- role: compscidr.gpg
tasks:
- name: 从keybase导入GPG密钥
gpg:
keybase_user: brandonkal
state: present
key_id: F33344CEF855F4FE4C2C55820E9D2E07D3D89BDD
# 密钥ID可以是如上所示的指纹或电子邮件地址
tags:
- keybase
- name: 导入假Keybase密钥 | 失败
gpg:
keybase_user: jijd
state: present
tags:
- fake
- name: 复制GPG文件
copy:
src: publickey.asc
dest: publickey.asc
tags:
- file
- name: 从文件导入公有GPG密钥
gpg:
key_file: publickey.asc
tags:
- file
- name: 从文件导入私有GPG密钥
gpg:
key_file: privatekey.asc
key_type: private
state: latest
tags:
- private
- name: 删除GPG密钥
gpg:
keybase_user: gpgtools
key_id: [email protected]
state: absent