Ansible:gocryptfs 不要求输入密码

Ansible:gocryptfs 不要求输入密码

当我使用 Ansible 创建各种需要 SSH 密码的远程安装时,该ansible-playbook命令只是在运行时询问它们。但是,当我想创建 gocryptfs 挂载时,我得到

FAILED! => {"changed": false, "msg": "Error mounting /mnt/test: Reading Password from stdin\nGot empty Password from stdin\n"}

这是我的剧本任务:

- name: Decrypt
  ansible.posix.mount:
    src: gocryptfs#/mnt/.enc_test
    path: /mnt/test
    state: mounted
    fstype: fuse
    opts: nofail

如何确保始终询问密码?我知道我可以提供该选项-extpass,但是当我首先运行剧本并创建 fstab 条目以及启动时的 dm-crypt 之类的输入时,我将使用什么程序来获得默认的终端提示?

答案1

你不能指望这个模块像模块一样响应提示预计做。

关于如何解决这个问题还有更多选择。下面的第一个和第二个选项不会在以下位置创建条目/etc/fstab

  1. 使用模块预计如果你想提供加密文件系统 与密码交互

  2. 使用模块命令并尝试参数标准输入 或提供加密文件系统在选项中使用密码:

  • -extpass CMD [-extpass ARG1 ...] 使用外部程序...在标准输出上返回密码
  • -passfile FILE [-passfile FILE2 ...] 从指定的纯文本文件中读取密码
  1. 提供模块与密码文件。看例子
  ansible.posix.mount:
    src: /mnt/.enc_test
    path: /mnt/test
    state: mounted
    fstype: fuse./usr/local/bin/gocryptfs
    opts: nofail,passfile=/tmp/password 

(未测试)

  1. 如果您的模块有问题使用文件行并创建条目/etc/fstab靠你自己。创建并通知处理程序挂载-a

看:在 Ansible 上使用用户输入(重新)启动 systemd 单元

相关内容