用ansible 來管理遠端的主機,最大的好處是方便,ansible不用在遠端的主機上安裝ansible的客戶端,ansible只要能通過ssh連線上遠端主機就
能對它進行管理。也就是說ansible是通過ssh來連線遠端主機的,於是就引出了連線到遠端主機的兩種認證方式,一種是使用者名稱+密碼,另一種是
~.ssh/id_rsa ~.ssh/id_rsa.pub 通過秘鑰對的方式來認證;自然ansible也是逃不出已經有的條條框框。
ansible_host=遠端主機ipansible_port=遠端主機的ssh埠
ansible_user=遠端主機中的乙個使用者名稱
ansible_ssh_pass=遠端主機使用者所對應的密碼
在這裡需要在主機上安裝sshpass:
執行下列命令安裝
tar -zxvf sshpass-1.05.tar.gzcd sshpass-1.05
#./configure
./configure --prefix=/opt/sshpass
#指定安裝目錄 --prefix=/opt/sshpass(也可不指定)
make && make
install
安裝完成後輸入sshpass出現如下提示即安裝成功:
# sshpass -husage: sshpass [-f|-d|-p|-e] [-hv] command parameters
-f filename take password to use from file
-d number use number as file descriptor for getting password
-p password provide password as argument (security unwise)
-e password is passed as env-var "sshpass"
with no parameters - password will be taken from stdin
-h show help (this screen)
-v print version information
at most one of -f, -d, -p or -e should be used
ansible_host=遠端主機ipansible_port=遠端主機的ssh埠
ansible_ssh_private_key_file=本地使用者的ssh金鑰檔案(私鑰)
注意:
[root@ansible_master ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 10.1.6.72三、有時候遠端使用者沒有"許可權"完成特定的操作,它要sudo一下才行,ansible中就要設定一下了:-bash: ssh-copy-id: command not found
報錯了解決方法:
yum -y install openssh-clients
ansible_become_user=rootansible_become=true
ansible_become_user=root 說的是到時候su到root身份執行操作,注意單單只是設定ansible_become_user是不會su的,還有乙個開關控制著
是不啟動su,這個開關就是ansible_become!
登陸mysql s MySQL登陸退出
單例項登陸mysql mysql mysql uroot 適合剛安裝後無密碼 mysql uroot p 標準登陸的方法 mysql uroot p password 密碼明文會洩露密碼,一般用於指令碼中,指令碼許可權root 700 多例項登陸mysql mysql s data 3307 mys...
ansible程式roles角色
劇本編寫完問題 1.目錄結構不夠規範 ok 2.編寫好的任務如何重複呼叫 3.服務端配置檔案改動,客戶端引數資訊也自動變化 4.彙總劇本中沒有顯示主機角色資訊 5.乙個劇本內容資訊過多,不容易進行閱讀,如何進行拆分 ok 第乙個歷程 規範目錄結構 cd etc ansible roles mkdir...
Ansible 建立角色 role
1 角色建立流程 1 在ansible中建立角色不需要特別的開發工具。建立和使用角色包含三個步驟 建立角色目錄結構 定義角色內容 在playbook中使用角色 2 角色目錄建立說明 1 預設情況下,ansible在ansible playbook所在目錄的roles子目錄中查詢角色。這樣,使用者可以...