ansible實現批量建立互信

2022-01-29 13:57:56 字數 1273 閱讀 1503

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/hosts

[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

2、建立playbook(稱為劇本,ansible按它中的配置批量執行命令)

$ cat pushssh.yaml

--- -hosts: test #test對呀hosts檔案中的主機組名稱

# 互信使用者

user: abm

tasks:

- name: ssh-copy

authorized_key: user=hoxis key="

}"

3、執行

$ ansible-playbook pushssh.yaml
4、測試

命令: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檔案防止推送失敗 可以看...