Ansible 學習-基本操作和ssh公鑰免密碼登錄

Ansible 基礎部分
與我們將saltstack的時候會有好多的相同點,
1、Ansible 的功能和saltstack有相似。
2、Ansible 和saltstack使用的是相同的配置文件格式
3、Ansible 沒有客戶端概念,我們不需要對客戶端進行配置,ssh協議
YAML:是一種用來表達數據序列的編程語言。我們休息的saltstack和Ansible的配置文件都使用這個格式來定義配置文件。
[mysql]
Host = localhost
User = root
Passwd = 123
YAML和python具有一個特別相似的點,就是語法上層級都是受縮進影響
1、python YAML的安裝
pip install pyyaml
2、YAML的-
橫槓在YAML當中起到序列的功能作用
注意YAML的橫槓後面是必須要空格

3、YAML 的:
YAML的冒號器映射關係
YAML的冒號後面必須加空格,不是爲了美觀

YAML在我們工作當中經常以他的格式定義配置問題,很好用,但是:
1、在冒號和橫槓的後面必須加上空格
2、我們在工作當中,經常將我們的配置定義到一個文件當中,但是定義YAML文件的時候一定要注意縮進的時候不要用tab鍵,因爲YAML會識別並且報錯

Ansible的安裝:
Linux本身的yum庫沒有Ansible的yum包
1、下載RPM包
rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm
2、yum install Ansible -y
Ansible的基本配置
1、Ansiable 的配置文件的位置,/etc/ansible/hosts
2、配置之前請至少將你要配置的服務器的思路和IP地址進行統計
Server:192.168.0.105
Client1:192.168.0.110
Client2:192.168.0.111

進行測試:
ansible 192.60.0.110 –m ping

Ansible 經常用的命令
1、command:可以運行遠程權限範圍之內的所有的shell命令
命令:ansible 192.168.0.110 -m command -a "free -m"

2、script:可以將服務端的腳本在客戶端執行
命令:ansible 192.168.0.110 -m script -a "/root/Desktop/a.py"

3、shell:可以將遠程執行客戶端的腳本
命令:ansible 192.168.0.111 -m shell -a "python /root/Desktop/b.py"

我們能夠如此順利的執行命令是有前提的。就是我們ssh遠程的是受信的客戶端,換而言之,我們服務端保存有客戶端ssh的證書。但是對於我們來說並不是所有的客戶端都是這樣的。所以我們藉助Linux命令首先進行一下證書保存和同步。
1、形成證書
ssh-keygen –t rsa

2、將上面紅框的文件同步到客戶端
命令:
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

組管理
Playbook

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章