首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ansible 2.1.2 playbook将SSH密码和sudo密码作为命令行参数传递

Ansible是一种自动化工具,用于配置管理、应用部署和任务执行。它使用简单的语法和模块化的架构,可以轻松地管理大规模的基础设施和应用程序。

Ansible Playbook是Ansible的核心组件之一,它是一个以YAML格式编写的文件,用于定义一系列任务和配置。Playbook可以描述系统的状态,然后通过执行一系列任务来使系统达到所需的状态。

在Ansible 2.1.2中,可以通过命令行参数将SSH密码和sudo密码传递给Playbook。这样可以在执行Playbook时动态地提供密码,而不需要在Playbook中明文存储密码。

要将SSH密码和sudo密码作为命令行参数传递给Ansible Playbook,可以使用以下方式:

  1. 在命令行中使用--extra-vars参数来传递变量。例如:ansible-playbook playbook.yml --extra-vars "ansible_ssh_pass=your_ssh_password ansible_sudo_pass=your_sudo_password"这里的your_ssh_passwordyour_sudo_password分别是SSH密码和sudo密码的实际值。
  2. 在Playbook的变量部分定义变量,并使用{{ variable_name }}的形式在任务中引用。例如,在Playbook的顶部定义变量:vars: ansible_ssh_pass: "{{ ansible_ssh_pass }}" ansible_sudo_pass: "{{ ansible_sudo_pass }}"然后在任务中使用这些变量:tasks: - name: Example task command: your_command become: true become_user: root become_method: sudo vars: ansible_ssh_pass: "{{ ansible_ssh_pass }}" ansible_sudo_pass: "{{ ansible_sudo_pass }}"这样,在执行Playbook时,可以通过--extra-vars参数传递变量的值。

需要注意的是,为了安全起见,建议不要在Playbook中明文存储密码。可以使用Ansible Vault等工具对密码进行加密和管理。

推荐的腾讯云相关产品:腾讯云服务器(CVM)、腾讯云弹性容器实例(TKE)、腾讯云轻量应用服务器(Lighthouse)等。你可以在腾讯云官网上找到这些产品的详细介绍和文档。

参考链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ansibleplaybook功能简述

易于与脚本语言交互 核心组件 Tasks :任务 Variables : 变量 ansible_ssh_port : 指定ssh端口 ansible_ssh_user : 指定ssh用户 ansible_ssh_pass...: 指定ssh用户登录认证密码,明文密码 ansible_sudo_pass : 指明sudo时候的密码 [webserver] 172.16.36.70 ansible_ssh_port=22 ansible_ssh_user...=root ansible_ssh_pass=zhenping.me inventory参数:(用于hosts定义的主机后面,多个使用空格分隔) template : 模板 Handles : 处理器...ansible-playbook test.yml -extra-vars “hosts=www user=zhenping” 通过命令行传递 通过roles传递 主机变量 定义在inventory中的主机之后的变量...脚本时,传递变量(手动传递时,优先级要高于脚本中的变量) ansible-playbook script.yml --extra-vars "username=ubunt" ansible-playbook

1.6K50

现代 IT 人一定要知道的 Ansible系列教程:playbook

在模式中使用变量 可以使用变量来允许将带有 -e 参数的组说明符传递ansible-playbook: webservers:!...SCP 的额外参数(例如 -l) --sftp-extra-args 指定仅传递给 SFTP 的额外参数(例如 -f、-l) --skip-tags 仅运行标签与这些值不匹配的重头戏任务...--ssh-common-args 指定要传递给 sftp/scp/ssh 的常用参数(例如 ProxyCommand) --ssh-extra-args 指定仅传递ssh 的额外参数(例如 -R) --start-at-task 在与此名称匹配的任务处启动 playbook --step 在运行前确认每个任务 --...-k,--ask-pass 询问连接密码 -l , --limit 进一步选定的主机限制为其他模式 -t,--tags 仅运行标记有这些值的重头戏任务。

22510

Jenkins自动化部署--集成ansible

PuppetChef都自己做了一套DSL,而Ansible使用YAML格式作为自己的DSL格式。...只要运行ansible-playbook–inventory hosts–user vagrant–ask-pass playbook.yml命令,输入SSH登录时用户vagrant的密码,就可以执行我们描述好的部署逻辑了...为简单起见,我们使用用户名密码的方式登录。更安全的方式是使用SSH密钥登录。 以上就是对Ansible的基本介绍。如果读者想更深入地学习,请前往Ansible官网。...Ansible与受控机器连接的凭证需要我们在Jenk-ins上手动添加。根据项目的实际情况,可以选择使用用户名密码的方式或者用户名密钥的方式登录。...这个参数可以用来代替12.2.2节中的第2个步骤。 become :布尔类型,在执行操作时是否加上sudo。它相当于ansible命令行的–become参数

3.1K10

Ansible 简介

下面的命令把安装了 ansible 的主机上当前用户的 SSH 公钥安装到了被管理的客户端 192.168.21.145 192.168.21.148 上: $ ssh-copy-id -i ~/....这个问题的解决方法是把用户设置为执行 sudo 命令时不需要输入密码,让我们在客户机 192.168.21.148 上执行下面的命令: $ sudo visudo 为用户 nick 添加下面的行: nick...每个模块都能接收参数,几乎所有的模块都接受键值对(key=value)参数,这些参数通过空格进行分隔。也有一些模块不接收参数,只需在命令行输入相关的命令就能调用。...playbook 如果 Ansible 的功能仅仅是能够执行当个的命令脚本就显得太弱了。...然后执行下面的命令,注意这次执行的是 ansible-playbook 命令,并且需要指定编辑好的 playbook 的文件名称作为参数: $ ansible-playbook -u nick playbook.yml

91420

Ansible 上手指南』

命令行 ansible all -m ping 2. playbook ansible-playbook example.yml 主机清单 编辑文件:/etc/ansible/hosts 即:定义主机名称...上面的例子:两个主机的分为两组:test-new-cli test-old-cli 主机的变量有这么些: ansible_ssh_host 将要连接的远程主机名.与你想要设定的主机的别名不同的话...ssh 密码(这种方式并不安全,我们强烈建议使用 --ask-pass 或 SSH 密钥) ansible_sudo_pass sudo 密码(这种方式并不安全,我们强烈建议使用 --ask-sudo-pass...如果你直接ssh username@192.168.100.100 会要求你输入用户名密码。 假如我编辑主机清单使得自己不需要输入用户名密码,怎么操作?...执行:ansible-playbook example.yml 按照 example.yml 文件里的任务集合按步执行任务。 示例 命令示例,仅举几例,有带参数、有没带参数的。

77330

Jenkins运行ansible playbooks

因此,使用Jenkins pipeline语言,您可以使用ansible_playbook方法,这将在Jenkins作业中执行作为参数传递playbook。...Playbook中: 通过这些参数传递给作业执行,我们可以自动安装mariaDB,增强root密码,使用给定名称创建新数据库,创建对该数据库具有权限的用户。...这个模块允许我们在jenkins中存储登录名/密码对: 我们可以通过添加类型为Credentials的参数,以一种简单的方式这些凭据传递给Jenkins作业: 然后,我们编辑作业的常规脚本,以这组参数传递给...=$SUDOERLOGIN ansible_ssh_pass=$SUDOERPASS ansible_sudo_pass=$SUDOERPASS"' ) } } 只需单击“使用参数启动构建...总结 因此,我们现在可以Jenkins作业准备在任何引用的计算机上运行一次或多次,并且可以通过图形界面作业配置简单地执行这些作业。全部运行时无需输入密码

3K10

Ansible高级用法(运维开发篇)

# forks = 5 4. sudo_user # 这是设置默认执行命令的用户,也可以在playbook中重新设置这个参数 # sudo_user = root # 注意: 新版本已经做了修改,如ansible2.4.1...说起远程设备,Ansible会默认假定你使用SSH key(当然也推荐这种)但是密码一样可以,通过在需要的地方添加-ask-pass选项来启用密码验证,如果使用了sudo特性,当sudo需要密码时,也同样适当的提供了...作为一个进阶话题,Ansible不止支持SSH来远程连接.连接方式是插件化的而且还有许多本地化管理的选项诸如管理 chroot, lxc, jail containers.一个叫做‘ansible-pull...也可以通过传递标识给sudo(如-H)来设置.)...# ssh 连接的用户名 -k, --ask-pass # ssh登录认证密码 -s, --sudo # sudo 到root用户,相当于Linux系统下的sudo

3.5K52

学习如何安装Ansible运行Playbooks

确保控制计算机上有Python 2(版本2.6或2.7)或Python 3(版本3.5更高版本)。请注意,不支持Windows作为控制计算机。...如果这不匹配,请使用-u username参数传递正确的用户名。 注意如果您不想使用SSH密钥,可以添加--ask-pass交换机。...要在没有任何其他设置的情况下尝试Ansible命令,我们现在添加一些额外的参数。...名称行后面是运行的模块(在本例中为服务模块),其他属性提供了更多选项,在这种情况下,指示Ansible使用sudo权限(稍后我们配置)。...myplaybook.yml --list-hosts 您可以运行固定链接的任务类型 Ansible附带了大量模块,您可以这些模块作为任务运行或通过ad-hoc命令运行。

4.8K10

非常好的Ansible入门教程(超简单)

-a 用于任何参数传递给定义的模块 -m 但是这并不是特别强大。尽管能够一次在所有服务器上运行这些命令,但是我们仍然只能完成任何bash脚本可能执行的操作。...=USERNAME -s --sudo -u指定用户的时候,使用sudo获得root权限 -k --ask-pass 提示输入ssh密码,而不是使用基于ssh的密钥认证 -K --ask-sudo-pass...在我们的Tasks文件中使用become并become_user再次使用Ansiblesudo以root用户身份运行命令,然后传递Playbook文件。...接下来,我们通过Playbook组织成一个角色进一步获得可靠性,这有助于我们组织相关项目,如文件模板,同时还帮助我们组织更复杂的相关任务操作。...它还使用该authorized_key模块SSH公钥作为SSH授权密钥添加到每个用户的服务器中。 加密变量的使用像在常规任务文件中使用一样。

3.5K20

Ansible批量更新远程主机用户密码 (包括Ansible批量做ssh互信)

这里做的是基于远程主机root用户的ssh互信 执行批量互信 [root@ansible-server ~]# ansible-playbook /opt/ssh_key.yaml PLAY [ssh-host..., 使用-e参数传递用户名密码给剧本,其中root为用户名,admin#123就是修改后的root密码 [root@ansible-server ~]# ansible-playbook /opt/...脚本, 适用于修改清单中部分远程主机的用户密码 编写ansible-playbook脚本 (需要注意下面脚本中"ens192"是客户机ip所在的网卡设备名称, 这个要根据自己实际环境去配置, 比如eth0...服务端没有远程主机做ssh信任关系, 则可以在hosts清单配置里直接指明用户名密码....ansible_ssh_pass=bj@123 ansible_ssh_port=22 ansible_sudo_pass=bj@123 即172.16.60.220客户机上要提前配置, 允许app

5.5K20

如何做好 Ansible 的配置优化?

,优化Ansible的执行流程; 在Playbook中修改Ansible的执行策略,减少多主机批量执行过程的等待; 在Playbook中使用异步特性,减少执行任务的同步等待; 设置Facts缓存,通过提前...2.开启SSH长连接 我们知道Ansible模式是使用SSH远端主机进行通信,所以Ansible对于SSH的依赖性非常强,下面我们第一步就从SSH入手来优化Ansible。...,而是通过管道传递SSH会话,Ansible使用的SSH会话减少到一个,这样可以大大提高整个执行效率。...这是因为ssh远程执行命令时,它的环境是非登录式非交互式 shell,默认不会分配tty,没有tty,sshsudo就无法关闭密码回显(业可以在Ansible命令行中使用"-tt"参数来强制SSH分配...5.修改Ansible执行策略 默认Ansible在远程执行任务是按批并行执行的,一批控制多少台主机由命令行的-f参数ansible.cfg配置中的--forks选项控制。

1K40

Ansible自动化运维配置与应用(结合实例)

特点: 不需要安装客户端 基于模块工作,模块可以以任何语言开发 不仅支持命令行使用模块,也可以支持yaml(python)格式的playbook 支持sudo 有提供UI(浏览器图形化) 安装 只需在服务端安装...--ask-pass 登录密码,提示输入SSH密码而不是假设基于密钥的验证 -K --ask-sudo-pass 提示密码使用sudo -s --sudo sudo运行 -S --su...可能的选项是paramiko(SSH),SSH地方。当地主要是用于crontab或启动。...#ansible-playbook update.yml --extra-vars "hosts=vipers user=admin" 传递{{hosts}}、{{user}}变量,hosts可以是...requiretty" 此playbook添加一个具有sudo权限的 test 用户 密码为password 更改用户只用更改vars:中的user 即可 生成密码: $ pip install passlib

2.2K20

使用Ansible快速部署CDH集群

,默认是使用ssh Host Inventory: 记录由Ansible管理的主机信息,包括端口、密码、ip等 1.3....epel-release #检查yum源中是否有ansible的介质版本 yum list ansible sudo yum install ansible -y ?...配置Ansible管理节点主机的连接 其实就是配置从管理节点到远程主机之间基于key(无密码的方式)的SSH连接: $ # 生成ssh key $ ssh-keygen $ # 拷贝ssh key到远程主机...,ssh的时候就不需要输入密码了 $ ssh-copy-id remoteuser@remoteserver $ # ssh的时候不会提示是否保存key $ ssh-keyscan remote_servers...出错检查方法 如果执行playbook报错,则使用-vvv参数来打印执行的详细信息,只有—tag来重复执行报错的部分,例如: ansible-playbook -i ansible_hostscloudera-playbook

2.9K01

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券