compscidr.gpg

ansible-gpg

Ansible模块,用于通过keybase.io或文件导入和删除GPG密钥。

基于Brandon KalinowskiThelonius Kort的工作。已更新,使其可以发布到ansible-galaxy。

使用此模块,管理GPG密钥非常简单。只需指定keybase用户名以及密钥邮箱或密钥指纹。您还可以从文件中导入密钥。

ansible的fetch_url方法用于通过HTTPS安全下载公钥。

使用key_file时,key_id会自动从文件中确定。

除了增加keybase.io功能外,此模块还会自动将添加的密钥标记为最终信任,从而使配置的机器能够为导入的用户加密文件。

选项

名称 默认值 描述
keybase_user null 要在Keybase上获取的用户名。当指定时,模块会自动下载https://keybase.io//pgp_keys.asc。需要定义key_id
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
关于项目

Enables import and removal of GPG-keys using keybase.io or files

安装
ansible-galaxy install compscidr.gpg
许可证
mit
下载
8.1k
拥有者
Software engineer. Interested in robotics, mesh networks, machine learning and decentralization