ansible 角色登陸

2022-07-13 17:51:09 字數 1827 閱讀 7910

用ansible 來管理遠端的主機,最大的好處是方便,ansible不用在遠端的主機上安裝ansible的客戶端,ansible只要能通過ssh連線上遠端主機就

能對它進行管理。也就是說ansible是通過ssh來連線遠端主機的,於是就引出了連線到遠端主機的兩種認證方式,一種是使用者名稱+密碼,另一種是

~.ssh/id_rsa ~.ssh/id_rsa.pub 通過秘鑰對的方式來認證;自然ansible也是逃不出已經有的條條框框。

ansible_host=遠端主機ip

ansible_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 -h

usage: 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=遠端主機ip

ansible_port=遠端主機的ssh埠

ansible_ssh_private_key_file=本地使用者的ssh金鑰檔案(私鑰)

注意:

[root@ansible_master ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 10.1.6.72

-bash: ssh-copy-id: command not found

報錯了解決方法:

yum -y install openssh-clients

三、有時候遠端使用者沒有"許可權"完成特定的操作,它要sudo一下才行,ansible中就要設定一下了:

ansible_become_user=root 

ansible_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子目錄中查詢角色。這樣,使用者可以...