ansible自動化
ansible配置host檔案
配置/etc/ansible/hosts檔案 ansible的攜帶密碼訪問
ansible_ssh_host 將要連線的遠端主機名.與你想要設定的主機的別名不同的話,可通過此變數設定.
ansible_ssh_port ssh埠號.如果不是預設的埠號,通過此變數設定.這種可以使用 ip:埠 192.168.1.100:2222
ansible_ssh_user 預設的 ssh 使用者名稱(後面ansible_su_pass 可以給root密碼)
ansible_ssh_pass ssh 密碼(這種方式並不安全,我們強烈建議使用 –ask-pass 或 ssh 金鑰)
ansible_sudo_pass sudo 密碼(這種方式並不安全,我們強烈建議使用 –ask-sudo-pass)
cat /etc/ansible/hosts
192.168.1.11 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='jack' ansible_su_pass='root_password'
不配做密碼的話可以直接把key檔案傳輸到另外一台伺服器上進行ansible自動互動
生成公鑰
.ssh/ 這個目錄裡面產生所需要的兩把 keys ,分別是私鑰 (id_rsa) 與公鑰 (id_rsa.pub)
ssh-keygen -t rsa
ssh-copy-id命令可以把本地主機的公鑰複製到遠端主機的authorized_keys檔案上,ssh-copy-id命令也會給遠端主機的使用者主目錄(home)和~/.ssh, 和~/.ssh/authorized_keys設定合適的許可權
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
配置自身也免密登入
ssh-copy-id localhost
檢視伺服器公鑰
ssh-keyscan命令是乙個收集大量主機公鑰的使用工具。
ssh-keyscan 192.168.10.203
第一次ssh登入時key檔案金鑰會寫到檔案(進行公鑰驗證)裡所以需要yes確認,這裡也可以通過配置/etc/ssh/ssh_config檔案
stricthostkeychecking no
也可以直接命令
ssh -o stricthostkeychecking=no
ansible測試
ansible all -m ping
考慮到ansible 的host檔案裡配置每台伺服器密碼的話太暴露,對host檔案進行加密
cat /etc/ansible/hosts
[node1]
192.168
.77.129 ansible_ssh_pass=
123456
[node2]
192.168
.77.130 ansible_ssh_pass=
123456
[node3]
192.168
.77.131 ansible_ssh_pass=
123456
對檔案加密這裡需要輸入加密密碼
ansible-vault encrypt /etc/ansible/hosts
後續如要編輯ansible的host檔案時
ansible-vault edit /etc/ansible/hosts2 --ask-vault-pass
執行ansible命令
ansible -i /etc/ansible/hosts node1 -m ping --ask-vault-pass
免密登入配置
在效能測試過程中,有時需要一台機器作為控制機,控制其他的幾台機器,因此需要進行機器的免密登入配置。免密登入配置 以wangxin這個賬號為例 su wangxin ssh keygen t rsa 如果這個命令機器上找不到,可以輸入yum y install openssh clients安裝 一路...
配置免密登入
顯示隱藏檔案 ll a這裡以node1節點為例配置免密 生成公鑰,私鑰 ssh keygen t rsa 然後敲 三個回車 就會生成兩個檔案id rsa 私鑰 id rsa.pub 公鑰 將公鑰拷貝到本地機器上 ssh copy id localhost配置遠端連線 我其餘的虛擬機器有3臺,分別是h...
ssh配置免密
使用ssh keygen生成金鑰,將公鑰檔案上傳至目標機器即可實現免密登陸,使用命令生成金鑰 ssh keygen t rsa c comment t rsa 指定使用 rsa加密 c 新增備註,備註會加到公鑰檔案最後,方便區分 執行命令會有互動輸入,全部使用預設值直接回車就行,缺省會在家目錄的.s...