git - 如何避免 ansible git 模块存储凭据?
问题描述
我正在观察 ansible git 模块在使用以下模块时存储凭据(uname/pwd)如何解决这个问题?请指教
- name: pull v016 repo from git
git: repo=https://{{ githubuser }}:{{ githubpassword|urlencode }}@git.abc.com/abc/abc.git
dest=/tmp/test/abc
accept_hostkey=yes
update=yes
clone=no
force=yes
remote=origin
version=20190524v016
我尝试使用 git-credential-cache 来避免以纯文本形式存储密码,但它没有按预期工作
作为权宜之计,我使用 git set-url 命令来避免其他人在运行剧本时遇到问题
解决方案
如果您不能使用更好的解决方案 SSH 密钥对,则可以使用提示并参考用户名/密码。
取自文档:
在运行剧本时,您可能希望提示用户输入某些内容,并且可以使用“vars_prompt”部分来实现。
一个常见的用途可能是询问您不想记录的敏感数据。
---
- hosts: all
vars_prompt:
- name: username
prompt: "What is your username?"
private: no
- name: password
prompt: "What is your password?"
tasks:
- debug:
msg: 'Logging in as {{ username }}'
还值得注意的是,默认情况下用户输入是隐藏的,文档也建议这样做。
推荐阅读
- java - java 8 中 lambda 表达式的副作用
- machine-learning - Keras 验证准确率不会超过 75% 并且预测表现不佳
- python - 按列错误对 NumPy 中的数组进行排序
- android - 从 FirebaseMessagingService 重新加载 Webview
- python - 在 x 轴上绘制具有特征的直方图,并且每个条形应反映具有差异颜色的目标类 var
- php - 无法解析响应标头
- c# - C# Pogressbar & Backgroundworker
- visual-studio-2017 - 如何插入
作为 app.config 中的第一个孩子 - python - 关于tensorflow的Tensor
- java - 当达到阈值时,LinkedHashMap 是否也 treeifyBin/treefybucket?