当我使用 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
- -extpass CMD [-extpass ARG1 ...] 使用外部程序...在标准输出上返回密码
- -passfile FILE [-passfile FILE2 ...] 从指定的纯文本文件中读取密码
- 提供模块山与密码文件。看例子
ansible.posix.mount:
src: /mnt/.enc_test
path: /mnt/test
state: mounted
fstype: fuse./usr/local/bin/gocryptfs
opts: nofail,passfile=/tmp/password
(未测试)
- 如果您的模块有问题山使用文件行并创建条目/etc/fstab靠你自己。创建并通知处理程序挂载-a。