Ansible入門篇(二) SSH配置免密互信

2021-09-04 12:18:17 字數 1651 閱讀 9462

ansible是用來處理大批量重複性操作的工具,只需要在一台機器上就可以遠端控制所有機器,但前提是必須保證每台機器之間ssh可以相互免密登入。關於ansible的安裝和環境準備請參考ansible環境的準備。

免密安裝機器

172.18.18.120 

172.18.18.121

172.18.18.122

配置所有免密機器使用者名稱及密碼

[ssh]

172.18.18.120 ansible_ssh_user=root ansible_ssh_pass=123456

172.18.18.121 ansible_ssh_user=root ansible_ssh_pass=123456

172.18.18.122 ansible_ssh_user=root ansible_ssh_pass=123456

編寫yml執行檔案

- hosts: ssh

gather_facts: no

tasks:

- name: enforce env   

shell: source /etc/profile

run_once: true

- name: close ssh check 

#關閉初次訪問提示詢問

shell: sed -i "s/^.*stricthostkeychecking.*$/   stricthostkeychecking no/g" /etc/ssh/ssh_config

- name: delete /root/.ssh/

file: path=/root/.ssh/ state=absent

- name: generating public/private rsa key pair 

#生成公鑰和私鑰

shell: ssh-keygen -t rsa -b 2048 -n '' -f /root/.ssh/id_rsa

- name: view id_rsa.pub 

#將公鑰設定成變數

shell: cat /root/.ssh/id_rsa.pub

register: sshinfo

- set_fact: sshpub=}

- name: add ssh record

#合併各個節點公鑰

local_action: shell echo } >> }/roles/templates/authorized_keys.j2

- name: copy authorized_keys.j2 to all

#分發到各個節點上

template: src=}/roles/templates/authorized_keys.j2 dest=/root/.ssh/authorized_keys mode=0600

tags:

- install ssh

執行免密安裝

ansible-playbook  /opt/ansible/sshkey.yml

一 Ansible入門篇

ansible是乙個自動化運維的工具 基於python語言編寫,因此機器需要具備python環境。通過ssh的連線方式進行自動化部署,ansible優先使用openssh,在使用python模組裡的paramiko作為ssh工具 優點 1.入門快速,簡單上手 2.基於python語言 3.無 基於s...

BREW SDK入門篇(二)

在第一部分,所有的必須專案設定都是由brew應用程式嚮導來管理。但我們仍然需要提供乙個可執行檔案以便在除錯階段執行.dll檔案,同時還要確保brew能夠找到應用程式的.dll檔案。為了滿足第乙個要求,我們需要為brew emulator.exe提供路徑。為了滿足第二個要求,我們要確保鏈結程式將hel...

BREW SDK入門篇(二)

在第一部分,所有的必須專案設定都是由brew應用程式嚮導來管理。但我們仍然需要提供乙個可執行檔案以便在除錯階段執行.dll檔案,同時還要確保brew能夠找到應用程式的.dll檔案。為了滿足第乙個要求,我們需要為brew emulator.exe提供路徑。為了滿足第二個要求,我們要確保鏈結程式將hel...