ansible第一條命令中的疑難問題
阿新 • • 發佈:2018-12-16
沒有接觸過ansible,看的ansible中文教程,第一次看很多地方都不是很明白,整理一下第一條命令的配置過程。
- 安裝ansible是在筆記本中安裝的ubuntu16.04系統(物理機)設定為controller節點,可以完全參考安裝教程,使用pip 或者apt-get install 進行安裝,這一部分基本沒有什麼問題。
- 安裝完成在新手上路章節配置是個重點:|
教程中第一句話: 現在你已經安裝了Ansible,是時候從一些基本知識開始了. 編輯(或建立)/etc/ansible/hosts 並在其中加入一個或多個遠端系統. 你的public SSH key必須在這些系統的``authorized_keys``中:
其中節點設定檔案就是/etc/ansible/下的 hosts檔案,配置這個檔案,將虛機的的ip新增到檔案末尾
其中[slave]是自己起的名稱(就是一會ansible要管理的主機,可以隨便取),下面的IP是另一臺虛機(VM 起的ubunt系統,設定為slave節點)的IP地址,注意要在一個區域網內,能ping通。 - authorized_keys的生成
首先在controller節點執行ssh-keygen
會在~/.ssh/下生成公鑰和私鑰,然後將公鑰id_rsa.pub拷貝到slave機器的root目錄下面,執行如下命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub
這個地方可能會失敗,報沒有許可權的問題。這個時候需要先連線到slave節點,配置該節點允許ssh 遠端root使用者登入:
cd /etc/ssh vim sshd_config 將如下欄位修改為yes,之前應該是with-out passw之類的 PermitRootLogin yes 然後service ssh reatart 如果沒有配置過root的密碼,執行: sudo passwd root 輸入root密碼,習慣輸入為root root
然後再執行: ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
-
拷貝完成後,可以連線到slave節點進行檢視,在~/.ssh/目錄下就會出現authorized_keys 檔案(如果使用者名稱用的user,那麼在對應的目錄下面也會有該檔案)
-
到這,再去執行ansible slave -m ping 就可以出現如下結果:
-
後記
其實報錯不可以怕,錯誤粘貼出來,多搜尋幾次,總能找到答案。