目錄
-
實驗目標:
-
實驗步驟:
-
實驗總結:
-
實驗目標:
一、瞭解ansible遠程連接的工作方式
二、熟練掌握使用ansible進行遠程連接的基本配置及步驟 -
實驗步驟:
一、準備兩臺實驗用主機(以下數據爲我主機實驗配置)
hostname | IP地址 | 用途 |
---|---|---|
ansible | 192.168.1.134 | ansible 管理端 |
node1 | 192.168.1.136 | node1 被管理端 |
二、連接前控制端與被控制端的配置更改
1、被控端主機node 1 設置參數
1)關閉防火牆
2)關閉selinux
3)node1 IP:192.168.1.136
2、控制端主機ansible設置參數
1)關閉防火牆 關閉selinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vi /etc/selinux/config
# getenforce
2)ansible控制端IP:192.168.1.136
3)查看控制端使用的ansible版本
# ansible --version * 查看ansible版本
4)ansible 主機上配置被管理主機信息
# vi /etc/ansible/hosts
添加如下:
[nodes]
192.168.1.136
# cat /etc/ansible/hosts
三、使用ansible命令進行nodes1的ping測試
1、命令參數
命令:ansible
使用格式:
ansible <host-pattern> [-m module_name] [-a args]
常用選項:
--version #顯示版本
-k,--ask-pass #提示輸入ssh連接密碼,默認key驗證
-m module #指定模塊,默認爲command
-v #詳細的過程 -vv -vvv更詳細
--list-hosts #顯示主機列表,可簡寫 --list
-C,--check #檢查,並不執行
-T,--TIMEOUT=TIMEOUT #執行命令的超時時間,默認10s
-u,--user=REMOTE_USER #執行遠程執行的用戶
-b,--become #代替舊版的sudo 切換
--become-user=USERNAME #指定sudo的runas用戶,默認爲root
-k,--ask-become-pass #提示輸入sudo時的口令
2、ansible 命令行使用格式 ansible 被管理主機 選項 -m 模塊名稱
# ansible nodes -m ping
上面的執行過程默認使用的 ssh 祕密驗證登錄方式,由於我們沒有配置,因此 ping 操作失敗
使用 -k 選項指明要求輸入密碼進行登錄驗證
# ansible nodes -k -m ping
登錄驗證成功!
輸入一次密碼之後ansible會記住密碼,以後直接操作即可
# ansible nodes -m ping
查看隱藏文件 .ansible
# ll -al
刪除ansible 本地配置信息
登錄驗證失敗,密碼失效
四、配置免密登錄祕鑰進行主機訪問
1、爲方便實驗此處密碼可設置爲空
1) # ssh-keygen
2) # ssh-copy-id 192.168.1.136
3) # ls -al *查看隱藏文件
2、拷貝生成好的 .ssh 文件夾到被管理主機 /root 路徑下
1) # scp -rp .ssh 192.168.1.136:/root/
2) 查看被控端.ssh文件
3)驗證免密登錄
免密登錄成功!
5)測試 ansible 訪問 node1 主機
-
實驗總結:
總結: 1、通過實驗瞭解ansible遠程連接主機的基本配置 2、通過ssh協議,實現對遠程主機的配置管理、應用部署、任務執行等功能。 3、配合ssh協議可以搭建出多套環境供開發和測試人員使用。