首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Ansible传递密码?

问如何用Ansible传递密码?
EN

Stack Overflow用户
提问于 2021-09-12 12:55:58
回答 3查看 63关注 0票数 1

我正在尝试在Ansible中运行此任务:

代码语言:javascript
复制
- name: zabbix database
  shell:
    chdir: /usr/share/doc/zabbix-server-mysql-4.0.33/
    cmd:  zcat create.sql.gz | mysql -u muhannad -p zabbix_db

当zcat create.sql.gz运行时需要输入密码,Ansible因为等待输入密码而卡住了,如何从客户端设置密码?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-09-12 16:32:46

您可以使用expect模块指定密码输入。

代码语言:javascript
复制
- name: Provide password 
  expect:
     command: zcat /usr/share/doc/zabbix-server-mysql-4.0.33/create.sql.gz | mysql -u muhannad -p zabbix_db
     responses:
        'password': "{{mysql_password}}"
票数 1
EN

Stack Overflow用户

发布于 2021-09-12 13:09:49

提示输入密码的不是zcat,而是mysql。

例如,如果您的口令是mypassword,则可以通过-p命令行开关传递口令

代码语言:javascript
复制
mysql -u muhannad -pmypassword zabbix_db

但是请注意,这将使您的密码在ps中可见。或者,您可能更喜欢通过环境或通过my.cnf指定密码。

票数 1
EN

Stack Overflow用户

发布于 2021-09-13 07:04:05

您可以使用Ansible Vault来管理敏感数据。

有关详细说明,请参阅official documents of Vault | Ansible Documentation。

创建加密(加密)文件。

代码语言:javascript
复制
 $ ansible-vault create foo.yml

编辑加密文件的内容。

代码语言:javascript
复制
$ ansible-vault edit foo.yml

更改加密密钥(密码)。

代码语言:javascript
复制
$ ansible-vault rekey foo.yml

加密现有的明文文件

代码语言:javascript
复制
$ ansible-vault encrypt foo.yml

解密加密的文件。

代码语言:javascript
复制
$ ansible-vault decrypt foo.yml

查看加密文件的内容。

代码语言:javascript
复制
$ ansible-vault view foo.yml
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69151614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档