Ansible playbook 備份Cisco ios 配置

image.png

 

hosts文件放的是主機資產信息;

secrets.yml是放置用戶名和密碼的;

success_backup.yml 是要執行的yaml文件;

192.168.60.120.txt 是執行後生產的文件。

 

 

#hosts

[ios_device]

192.168.60.120

 

 

#secrets.yml

---

creds:

  username: cisco

  password: cisco

  auth_pass: cisco

 

#success_backup.yml

---

- hosts: ios_device

  gather_facts: no

  connection: local

 

  tasks:

  - name: OBTAIN LOGIN CREDENTIALS #獲取登錄憑證(用戶名和密碼)

    include_vars: secrets.yml

 

  - name: DEFINE PROVIDER #定義一個provider

    set_fact:

      provider:

        host: "{{ inventory_hostname }}"

        username: "{{ creds['username'] }}"

        password: "{{ creds['password'] }}"

        auth_pass: "{{ creds['auth_pass'] }}"

 

  - name: show run  #查看配置文件

    ios_command:

      provider: "{{ provider }}"

      authorize: yes

      commands:

        - show run

    register: output

 

  - debug: var=output.stdout_lines  #output變量輸出

 

  - name: save the output content to a file #將內容放到control機本地

    local_action: copy content={{ output.stdout_lines }} dest="./{{ inventory_hostname }}.txt"


————————————————————————————————————————

注意:

       1.Ansible所在的主機要能夠跟cisco ios設備進行ssh通信

       2.cisco ios 配置 ssh過程:

          

                    ip domain-name [cisco.com]   //cisco.com這個按個人實際情況填寫

                    cryto key generate

                    

                    line vty  0 4

                       login local

                       transparent input ssh


                    ip ssh time-out 120     //修改超時時間

                    ip ssh authentication-retries 1     //修改重認證次數。

                    ip ssh version 2          //修改版本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章