ansible:自動化運維工具
為什麼要建立互信:ansible批量配置管理的前提是管理機和被管理機ssh互信,即通過將管理主機的公鑰(id_rsa.pub
)新增到目標主機上,實現管理機不通過互動式輸入密碼就可以登入目標主機。
建立互信:
1、生成秘鑰對
$ ssh-keygen -t rsa一路回車即可
2、建立互信:
格式:ssh-copy-id -i ~/.ssh/id_rsa.pub username@[ip,hostname] //內為目標主機的資訊
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]根據提示完成操作即完成了互信。
批量建立互信:
通過上面方法建立少量的互信操作起來還ok,但是如果目標主機數量多的情況下再手動的執行就太慢了,所以這裡採用ansible的authoried_keys
模組進行批量建立互信
參考:1、配置hosts檔案(ansible的目標主機定義檔案)
$ cat /etc/ansible/hosts2、建立playbook(稱為劇本,ansible按它中的配置批量執行命令)[test]
192.168.12.5[1:4] #表示192.168.12.51-192.168.12.54
192.168.12.5[6:9
]192.168.13.101
192.168.13.103
$ cat pushssh.yaml3、執行--- -hosts: test #test對呀hosts檔案中的主機組名稱
# 互信使用者
user: abm
tasks:
- name: ssh-copy
authorized_key: user=hoxis key="
}"
$ ansible-playbook pushssh.yaml4、測試
命令:ansible test -m ping
返回綠色success,代表互信成功可以批量執行ansible命令了。
expect指令碼實現批量ssh互信
搭hadoop時候需要配置多節點ssh互信,節點數量多了,手工配起來就很麻煩。網上有很多自動配置ssh互信的指令碼,但基本都不能直接用。今天摸索了下,自己寫了個簡易版,測試還能用,在這裡分享下。1 每個節點安裝expect包 yum install expect y 2 將auto ssh.sh及i...
Linux自動批量建立SSH互信指令碼
但是在實際工作中,往往機器很多,如果一台一台的去建立互信,則也需要耗費巨大的人力。在網上看到乙個自動化批量建立互信的指令碼,在此分享給大家。在主機上建立sh檔案,名稱隨意,然後在檔案中輸入以下內容 bin sh dest user 1 password 2 hosts file 3 if ne 3 ...
ansible實現SSH公鑰批量部署
下面我們利用ansible模組的中的authorized key,來完成批量部署公鑰 環境準備 1 vim etc ansible hosts 檔案定義主機群,如圖所示 2 修改 etc ansible ansible.cfg中的host key checking false檔案防止推送失敗 可以看...