通过 bash 脚本在 "interactive mode" 中使用 ansible-vault
Using ansible-vault in "interactive mode" via bash script
我真的很喜欢在命令行上使用 ansible-vault
轻松生成 encrypt/decrypt 文件。例如,如果我有一个名为 ~/fizzbuzz.foo
的纯文本文件,其内容如下:
bupo
我可以像这样使用这个工具:
ansible-vault encrypt ~/fizzbuzz.foo
New Vault password: 123
Confirm New Vault password: 123
繁荣 -- 加密!当我 vi ~/fizzbuzz.foo
现在:
$ANSIBLE_VAULT;1.1;AES256
36663138613666623730653164333138343133383233313562363733346461663334393932393461
6535316532366130316237633633663565663366323162660a666630613738363035343663353132
33383530653235393431633231313765656135626538353163323366363039633836613265383332
3762666261326466370a643164393166346634343636346634383039356665646531353062303765
3734
我想在 bash 脚本中使用它,我将 encryption/decryption 密码作为脚本参数传入:
#!/bin/bash
# do some stuff
ansible-vault -i "bar" encrypt ~/fizzbuzz.foo
# do some more stuff
但是我没有看到 interactive(例如 -i
)argument/mode for ansible-vault
。 The best I could find 是一种使用 env 文件存储 ansible-playbook
实用程序密码的方法,但我尝试了 ansible-vault
并找不到类似的行为。
有什么想法吗?
您需要先创建保管库密码文件,方法如下:
openssl rand -base64 512 |xargs > vaultkeyfile
我正在本地目录中创建保管库文件,但您可能想将其放置到另一个目录中,例如 ~/.ansible_vault/。
然后到create/encrypt/decrypt文件,你使用:
新文件:
ansible-vault create testfile.txt --vault-password-file=vaultkeyfile
用于加密现有文件:
ansible-vault encrypt testfile.txt --vault-password-file=vaultkeyfile
用于解密:
ansible-vault decrypt testfile.txt --vault-password-file=vaultkeyfile
执行上面的命令时,您会注意到它不要求输入密码。
我真的很喜欢在命令行上使用 ansible-vault
轻松生成 encrypt/decrypt 文件。例如,如果我有一个名为 ~/fizzbuzz.foo
的纯文本文件,其内容如下:
bupo
我可以像这样使用这个工具:
ansible-vault encrypt ~/fizzbuzz.foo
New Vault password: 123
Confirm New Vault password: 123
繁荣 -- 加密!当我 vi ~/fizzbuzz.foo
现在:
$ANSIBLE_VAULT;1.1;AES256
36663138613666623730653164333138343133383233313562363733346461663334393932393461
6535316532366130316237633633663565663366323162660a666630613738363035343663353132
33383530653235393431633231313765656135626538353163323366363039633836613265383332
3762666261326466370a643164393166346634343636346634383039356665646531353062303765
3734
我想在 bash 脚本中使用它,我将 encryption/decryption 密码作为脚本参数传入:
#!/bin/bash
# do some stuff
ansible-vault -i "bar" encrypt ~/fizzbuzz.foo
# do some more stuff
但是我没有看到 interactive(例如 -i
)argument/mode for ansible-vault
。 The best I could find 是一种使用 env 文件存储 ansible-playbook
实用程序密码的方法,但我尝试了 ansible-vault
并找不到类似的行为。
有什么想法吗?
您需要先创建保管库密码文件,方法如下:
openssl rand -base64 512 |xargs > vaultkeyfile
我正在本地目录中创建保管库文件,但您可能想将其放置到另一个目录中,例如 ~/.ansible_vault/。
然后到create/encrypt/decrypt文件,你使用:
新文件:
ansible-vault create testfile.txt --vault-password-file=vaultkeyfile
用于加密现有文件:
ansible-vault encrypt testfile.txt --vault-password-file=vaultkeyfile
用于解密:
ansible-vault decrypt testfile.txt --vault-password-file=vaultkeyfile
执行上面的命令时,您会注意到它不要求输入密码。