日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

ansible用authorized_key模块批量推送密钥到受控主机(免密登录)(ansible2.9.5)

發布時間:2023/12/15 综合教程 20 生活家
生活随笔 收集整理的這篇文章主要介紹了 ansible用authorized_key模块批量推送密钥到受控主机(免密登录)(ansible2.9.5) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一,ansible的authorized_key模塊的用途

用來配置密鑰實現免密登錄:

ansible所在的主控機生成密鑰后,如何把公鑰上傳到受控端?

當然可以用ssh-copy-id命令逐臺手動處理,如果受控端機器數量不多當然沒問題,

但如果機器數量較多,有幾十幾百臺時,手動處理的效率就成為問題。

authorized_key模塊就用來把公鑰上傳到各臺服務器實現免密登錄

說明:劉宏締的架構森林是一個專注架構的博客,地址:https://www.cnblogs.com/architectforest

對應的源碼可以訪問這里獲取:https://github.com/liuhongdi/

說明:作者:劉宏締 郵箱: 371125307@qq.com

二,authorized_key的使用例子:

1,在hosts中增加一個段:

[ils]
121.122.123.87:12888 ansible_ssh_user=webop ansible_ssh_pass="weboppass"
121.122.123.88:12888 ansible_ssh_user=webop ansible_ssh_pass="weboppass" 
121.122.123.89:12888 ansible_ssh_user=webop ansible_ssh_pass="weboppass" 

批量上傳公鑰

[root@centos8 ~]# ansible ils -m authorized_key -a "user=webop state=present key='{{ lookup('file', '/home/liuhongdi/.ssh/id_rsa.pub') }}'"

出現報錯:

121.122.123.87 | FAILED! => {
    "msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. 
            Please add this host's fingerprint to your known_hosts file to manage this host."
}

問題的原因:

ssh第一次連接的時候一般會提示fingerprint key字符串,需要輸入yes 進行確認.

確認后會把key字符串加入到~/.ssh/known_hosts文件中

解決辦法:

修改ansible的配置文件:

[root@centos8 ~]# vi /etc/ansible/ansible.cfg 

把這一行的注釋去掉:

host_key_checking = False

說明:這一行的作用:

# uncomment this to disable SSH key host checking

用來禁止ssh的指紋key字串檢查

2,再次上傳公鑰到服務器:

[root@centos8 ~]# ansible ils -m authorized_key -a "user=webop state=present key='{{ lookup('file', '/home/liuhongdi/.ssh/id_rsa.pub') }}'"
121.122.123.87 | CHANGED => {

成功了

手動測試一下:看ssh到目標服務器是否還需要輸入密碼?

[root@centos8 ~]# ssh -p 12888 webop@121.122.123.87

三,查看ansible版本

[root@centos8 liuhongdi]# ansible --version
ansible 2.9.5

總結

以上是生活随笔為你收集整理的ansible用authorized_key模块批量推送密钥到受控主机(免密登录)(ansible2.9.5)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。