8
respostas

Não consigo conectar no Wordpress

vagrant@ubuntu-bionic:~$ ansible wordpress -u vagrant --private-key /vagrant/.vagrant/machines/wordpress/virtualbox/private_key -i hosts -m shell -a 'echo Hello, World' [WARNING]: * Failed to parse /home/vagrant/hosts with script plugin: problem running /home/vagrant/hosts --list ([Errno 8] Exec format error)

[WARNING]: * Failed to parse /home/vagrant/hosts with yaml plugin: Syntax Error while loading YAML. did not find expected The error appears to have been in '/home/vagrant/hosts': line 2, column 1, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: [wordpress] 192.168.1.25 ^ here

[WARNING]: * Failed to parse /home/vagrant/hosts with ini plugin: /home/vagrant/hosts:4: Section [mysqlserver:vars] not valid for undefined group: mysqlserver

[WARNING]: Unable to parse /home/vagrant/hosts as an inventory source

[WARNING]: No inventory was parsed, only implicit localhost is available

[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'

192.168.1.25 | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@ WARNING: UNPROTECTED PRIVATE KEY FILE! @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\nPermissions 0777 for '/vagrant/.vagrant/machines/wordpress/virtualbox/private_key' are too open.\r\nIt is required that your private key files are NOT accessible by others.\r\nThis private key will be ignored.\r\nLoad key "/vagrant/.vagrant/machines/wordpress/virtualbox/private_key": bad permissions\r\nvagrant@192.168.1.25: Permission denied (publickey).\r\n", "unreachable": true } vagrant@ubuntu-bionic:~$

8 respostas

Olá Gerson, tudo bem? Aparentemente me parece um erro de sintaxe no arquivo YAML, então sendo assim você poderia colocar aqui o código do arquivo Vagrantfile e também o código do arquivos de hosts pra gente verificar corretamente!

Fico aguardando retorno!

Olá, segue o arquivo vagrant (Eu consigo conectar da minha máquina Ansible para a Wordpress com o comando: ssh -i .vagrant/machines/default/virtualbox/private_key vagrant@192.168.1.21)

Com o comando: ansible wordpress -u vagrant --private-key /vagrant/.vagrant/machines/wordpress/virtualbox/private_key -i hosts -m shell -a 'echo Hello, world'

Aparece a seguinte mensagem:

[WARNING]: Unable to parse /home/vagrant/hosts as an inventory source

[WARNING]: No inventory was parsed, only implicit localhost is available

[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'

[WARNING]: Could not match supplied host pattern, ignoring: wordpress

Abaixo o Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/bionic64"

  config.vm.define "ansible" do |ansible|
    ansible.vm.network "public_network", ip: "192.168.1.20"

    ansible.vm.provider "virtualbox" do |vb|
      vb.name = "ansible_ubuntu"
      vb.memory = 1024
      vb.cpus = 2

    ansible.vm.provision "shell",
      inline: "cat /vagrant/id_ansible_vg.pub >> .ssh/authorized_keys"

    ansible.vm.provision "shell",
      inline: "cp /vagrant/id_ansible_vg.pub  /home/vagrant && \
      chmod 600 /home/vagrant/id_ansible_vg.pub && \
      chown vagrant:vagrant /home/vagrant/id_ansible_vg.pub"

    ansible.vm.provision "shell",
      inline: "sudo apt update && \
      sudo apt install software-properties-common && \
      sudo apt-add-repository --yes --update ppa:ansible/ansible && \
      sudo apt install ansible"

    end
  end

Esse é meu Hosts

[wordpress]
192.168.1.21

Gerson, não entendi muito bem seu cenário, no caso como seu ambiente está funcionando, porque nesse momento, você precisária do Vagrantfile da seguinte forma:

Vagrant.configure("2") do |config|

    config.vm.box = "ubuntu/trusty64"

    config.vm.provider "virtualbox" do |v|
        v.memory = 1024
    end

    config.vm.define "wordpress" do |m|
        m.vm.network "private_network", ip: "172.17.177.40"
    end

end

E o arquivo hosts com o mesmo IP que está definido no arquivo Vagrantfile:

[wordpress]
172.17.177.40

Outro detalhe é que para seguir de acordo com o curso é interessante que você use a box "ubuntu/trusty64".

Ou na verdade você está usando Windows? Que você teria que provisionar uma máquina com Ubuntu (qualquer versão), e essa máquina é que vai executar o Ansible para configurar outra máquina? Detalha melhor seu ambiente ai agente pode ser mais exato na resposta.

Fico aguardando retorno!

Olá Jonilson,

Meu ambiente é Windows, no Vagrant file que postei acima estão as 2 vms que criei, uma com ansible e a outra seria o Wordpress. Ambas no Virtualbox. Eu consigo fazer a conexão via SSH da vm Ansible com vm Wordpress sem problemas, mas, quando tento rodar o comando apresentado na aula "Hello world" apresenta o erro que postei acima. Quanto ao "ubuntu/trusty64" o mesmo erro ocorria, por isso, um teste com a versão bionic.

Obrigado!

Entendi Gerson, porém no arquivo que você passou pra gente só tem a configuração da vm ansible:

config.vm.define "ansible" do |ansible|
    ansible.vm.network "public_network", ip: "192.168.1.20"

    ansible.vm.provider "virtualbox" do |vb|
      vb.name = "ansible_ubuntu"
      vb.memory = 1024
      vb.cpus = 2

    ansible.vm.provision "shell",
      inline: "cat /vagrant/id_ansible_vg.pub >> .ssh/authorized_keys"

    ansible.vm.provision "shell",
      inline: "cp /vagrant/id_ansible_vg.pub  /home/vagrant && \
      chmod 600 /home/vagrant/id_ansible_vg.pub && \
      chown vagrant:vagrant /home/vagrant/id_ansible_vg.pub"

    ansible.vm.provision "shell",
      inline: "sudo apt update && \
      sudo apt install software-properties-common && \
      sudo apt-add-repository --yes --update ppa:ansible/ansible && \
      sudo apt install ansible"

    end

Você poderia informar pra gente o arquivo completo? E de ante mão acho que a configuração deveria ser da seguinte forma:

Vagrant.configure("2") do |config|
    config.vm.box = "ubuntu/bionic64"

    config.vm.define "wordpress" do |wordpress|
      wordpress.vm.network "public_network", ip: "192.168.1.19"

      wordpress.vm.provider "virtualbox" do |vb|
        vb.name = "wordpress_ubuntu"
        vb.memory = 1024
        vb.cpus = 2

      wordpress.vm.provision "shell", 
          inline: "cat /vagrant/id_ansible_vg.pub >> .ssh/authorized_keys"
    end

    config.vm.define "ansible" do |ansible|
      ansible.vm.network "public_network", ip: "192.168.1.20"

      ansible.vm.provider "virtualbox" do |vb|
        vb.name = "ansible_ubuntu"
        vb.memory = 1024
        vb.cpus = 2

      ansible.vm.provision "shell",
        inline: "cp /vagrant/id_ansible_vg.pub  /home/vagrant && \
        chmod 600 /home/vagrant/id_ansible_vg.pub && \
        chown vagrant:vagrant /home/vagrant/id_ansible_vg.pub"

      ansible.vm.provision "shell",
        inline: "sudo apt update && \
        sudo apt install software-properties-common && \
        sudo apt-add-repository --yes --update ppa:ansible/ansible && \
        sudo apt install ansible"
    end

end

Porque assim estava fazendo com que a chave SSH da máquina wordpress seja colocado no arquivo id_ansible_vg.pub na pasta vagrant e depois na máquina ansible usamos essa chave para a conexão.

Olá Jonilson,

Obrigado pela ajuda, adicionei a senha do usuário vangrant no arquivo "hosts" e consegui o acesso.

Obrigado

[wordpress:vars]
ansible_password=vagrant

Que legal que conseguiu resolver Gerson, e mais legal ainda que compartilhou a solução aqui na comunidade. Sendo assim você poderia marcar seu post como solução deste tópico assim caso alguém tenha uma problema semelhante poderá encontrar a resposta facilmente aqui.