1. 程式人生 > >ansible第一條命令中的疑難問題

ansible第一條命令中的疑難問題

沒有接觸過ansible,看的ansible中文教程,第一次看很多地方都不是很明白,整理一下第一條命令的配置過程。

  1. 安裝ansible是在筆記本中安裝的ubuntu16.04系統(物理機)設定為controller節點,可以完全參考安裝教程,使用pip 或者apt-get install 進行安裝,這一部分基本沒有什麼問題。
  2. 安裝完成在新手上路章節配置是個重點:|
    教程中第一句話:
    現在你已經安裝了Ansible,是時候從一些基本知識開始了.
     編輯(或建立)/etc/ansible/hosts 並在其中加入一個或多個遠端系統.
    你的public SSH key必須在這些系統的``authorized_keys``中:

    其中節點設定檔案就是/etc/ansible/下的  hosts檔案,配置這個檔案,將虛機的的ip新增到檔案末尾

    其中[slave]是自己起的名稱(就是一會ansible要管理的主機,可以隨便取),下面的IP是另一臺虛機(VM 起的ubunt系統,設定為slave節點)的IP地址,注意要在一個區域網內,能ping通。
  3. authorized_keys的生成
    首先在controller節點執行
    ssh-keygen

    會在~/.ssh/下生成公鑰和私鑰,然後將公鑰id_rsa.pub拷貝到slave機器的root目錄下面,執行如下命令:

    ssh-copy-id -i ~/.ssh/id_rsa.pub 
    [email protected]

    這個地方可能會失敗,報沒有許可權的問題。這個時候需要先連線到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]

    。根據提示輸入密碼

  4. 拷貝完成後,可以連線到slave節點進行檢視,在~/.ssh/目錄下就會出現authorized_keys 檔案(如果使用者名稱用的user,那麼在對應的目錄下面也會有該檔案)

  5. 到這,再去執行ansible slave -m ping 就可以出現如下結果:

  6. 後記
    其實報錯不可以怕,錯誤粘貼出來,多搜尋幾次,總能找到答案。