1

我有一个问题,是否可以在不本地存储的情况下创建 SSH 密钥,而不是我可以将其保存为变量。是否有任何选项可以让我在不保存本地的情况下安全地拥有我的密钥。

谢谢

4

1 回答 1

1

这有点hacky,但回答了这个问题:

---
- hosts: localhost
  tasks:
    - expect:
        command: ssh-keygen -b 2048 -t rsa -f /dev/stdout -q
        responses:
            Overwrite: y
            Enter: "\n"
      failed_when: "'BEGIN RSA PRIVATE KEY' not in priv_key_raw.stdout"
      changed_when: false
      register: priv_key_raw

    - set_fact:
        priv_key: "{{ (priv_key_raw.stdout_lines[3:])[:-1] }}"

    - shell: "/bin/echo -e \"{{ priv_key | join('\\n') }}\" | ssh-keygen -y -f /dev/stdin"
      register: pub_key_raw
      changed_when: false

    - set_fact:
        pub_key: "{{ pub_key_raw.stdout }}"

    - debug: var=priv_key
    - debug: var=pub_key
于 2016-08-18T16:04:39.340 回答