ansible基於key驗證免密批量管理遠端主機

2021-10-03 23:42:27 字數 1008 閱讀 8002

不說廢話,直接開始,希望給些參考幫助。

1.ansible安裝就不用說了吧,yum安裝就可以。

2.假如電腦條件允許,可以同時開2個或多個虛擬機器;或者你有可以連線的遠端機器

自己制定主機清單檔案,例如:

[server]

192.168.1.1

假如這是你定義的遠端管理的主機ip,可以用 ansible -i 主機清單 server -m ping 檢測是否能夠連線,這也是管理主機的檢測方法。

上面這個執行結果是不能成功的,ansible -i 主機清單 server -m ping -u使用者 -k 這樣執行,在輸入密碼就可以得當成功的返回結果。

但是我們不希望每次都輸入密碼,就需要基於key的驗證來實現免密管理。

執行ssh-keygen命令,過程中可以輸入密碼增加安全係數,否則一直回車。執行完成,在你的家目錄~/.ssh目錄下存在倆個檔案id_rsa 和 id_rsa.pub,這樣先利用上面管理的方式和ansible的copy模組將d_rsa.pub複製到你所管理的主機使用者的~/.ssh目錄下。

執行這個命令:ansible -i 主機清單 -m copy -a 'src=~/.ssh/id_rsa.pub dest=~/.ssh/authorized_keys mode=0600' -u使用者 -k  

會出現:

然後再執行ansible -i 主機清單 server -m ping -u使用者 就會發現不用輸入密碼就可以得到返回結果。

Ansible實踐篇(一) Ansible免密登入

主要是ansible服務端需要將 root ssh id rsa.pub分發到其他伺服器 有兩個命令比較重要 ssh keygen 這個命令是用來生成本機的公鑰和私鑰的 ssh keyscan 這條命令是用來把遠端伺服器的公鑰來獲取到本地的 1 首先關閉公鑰認證 如果說不想關閉公鑰認證的話,可以用s...

使用ansible批量更新key

背景 按照公司要求每半年更新一次所有物理伺服器的ssh登入key。舊key root ssh antiykey.pub 新key root ssh antiykey190708.pub 1,確保ansible能管理所有機器 確保可以ping通所有要操作的機器。新增新key root xiaoxuan...

批量部署SSH基於key的驗證指令碼

工作中,使用ansible等自動化運維工具實現伺服器批量自動化運維管理,需要先解決管理端和被管理端的免密碼登入,可以指令碼實現ssh基於key的驗證,如下 bin bash pass 123456 user root ssh keygen f root ssh id rsa p dev null r...