ansible-playbook之sudo密碼

需求:
centos7機(jī)器A、B
機(jī)器B上sudo需要輸入密碼才能切換至root用戶
機(jī)器A上如何編寫(xiě)ansible-playbook,才能使用在機(jī)器B上使用root用戶進(jìn)行操作

ansible 版本:ansible 2.7.0
inventory目錄:/etc/ansible/

根據(jù)官網(wǎng):

ansible_ssh_host
      將要連接的遠(yuǎn)程主機(jī)名.與你想要設(shè)定的主機(jī)的別名不同的話,可通過(guò)此變量設(shè)置.

ansible_ssh_port
      ssh端口號(hào).如果不是默認(rèn)的端口號(hào),通過(guò)此變量設(shè)置.

ansible_ssh_user
      默認(rèn)的 ssh 用戶名

ansible_ssh_pass
      ssh 密碼(這種方式并不安全,我們強(qiáng)烈建議使用 --ask-pass 或 SSH 密鑰)

ansible_sudo_pass
      sudo 密碼(這種方式并不安全,我們強(qiáng)烈建議使用 --ask-sudo-pass)

ansible_sudo_exe (new in version 1.8)
      sudo 命令路徑(適用于1.8及以上版本)

ansible_connection
      與主機(jī)的連接類型.比如:local, ssh 或者 paramiko. Ansible 1.2 以前默認(rèn)使用 paramiko.1.2 以后默認(rèn)使用 'smart','smart' 方式會(huì)根據(jù)是否支持 ControlPersist, 來(lái)判斷'ssh' 方式是否可行.

ansible_ssh_private_key_file
      ssh 使用的私鑰文件.適用于有多個(gè)密鑰,而你不想使用 SSH 代理的情況.

ansible_shell_type
      目標(biāo)系統(tǒng)的shell類型.默認(rèn)情況下,命令的執(zhí)行使用 'sh' 語(yǔ)法,可設(shè)置為 'csh' 或 'fish'.

ansible_python_interpreter
      目標(biāo)主機(jī)的 python 路徑.適用于的情況: 系統(tǒng)中有多個(gè) Python, 或者命令路徑不是"/usr/bin/python",比如  \*BSD, 或者 /usr/bin/python
      不是 2.X 版本的 Python.我們不使用 "/usr/bin/env" 機(jī)制,因?yàn)檫@要求遠(yuǎn)程用戶的路徑設(shè)置正確,且要求 "python" 可執(zhí)行程序名不可為 python以外的名字(實(shí)際有可能名為python26).

      與 ansible_python_interpreter 的工作方式相同,可設(shè)定如 ruby 或 perl 的路徑....

1、我們先使用ansible_sudo_pass試試看

編輯/etc/ansible/hosts
vim /etc/ansible/hosts

[test1]
192.168.1.1 ansible_sudo_pass='aa123'

寫(xiě)一個(gè)playbook
vim test.yml


- hosts: test1
  user: test
  tasks:
      - name: just test
        become: yes
        become_user: root
        become_method: sudo
        shell: mkdir -p /tmp/test

執(zhí)行一下
ansible-playbook test.yml

登陸機(jī)器B:test1上,發(fā)現(xiàn)/tmp/test文件夾創(chuàng)建成功

2、我們使用安全的方式試試看

既然官方文檔強(qiáng)烈建議使用--ask-sudo-pass參數(shù),我們?cè)囈幌逻@種方法

在/etc/ansible/hosts里面把sudo密碼注釋掉

[test1]
192.168.1.1

執(zhí)行剛才的test.yml,執(zhí)行命令如下
ansible-playbook --ask-sudo-pass test.yml

會(huì)發(fā)現(xiàn)出現(xiàn)如下界面
SUDO password
輸入sudo的密碼,執(zhí)行成功

小結(jié)

方法一:方便快捷
方法二:安全

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、inventory介紹 前面我們介紹過(guò)ansible的hosts文件是存放被管理主機(jī)的,被管理主機(jī)比較少的情況...
    GoGooGooo閱讀 8,195評(píng)論 1 14
  • 簡(jiǎn)介 架構(gòu) 原理 組成 ANSIBLE PLAYBOOKS:任務(wù)劇本(任務(wù)集),編排定義Ansible任務(wù)集的配置...
    毛利卷卷發(fā)閱讀 1,174評(píng)論 0 2
  • 1)安裝2)常用模塊3)inventory4)playbook(role\tag\template)5) yaml...
    秦記閱讀 4,597評(píng)論 2 5
  • ansible 系統(tǒng)架構(gòu) ansible簡(jiǎn)介ansible是新出現(xiàn)的自動(dòng)化運(yùn)維工具,ansible是一個(gè)配置管理和...
    運(yùn)維阿文閱讀 9,841評(píng)論 1 53
  • ansible介紹ansible常用模塊使用playbooktemplates,模板條件測(cè)試和循環(huán)迭代roles,...
    哈嘍別樣閱讀 1,490評(píng)論 0 3

友情鏈接更多精彩內(nèi)容