Topologia de rede:
Aqui o linuxhint-711ea é um Ubuntu 20.04 máquina LTS onde irei instalar o Ansible.
Então, vou configurar os hosts host1 (Endereço IP 192.168.20.162) e host2 (Endereço IP 192.168.20.153) para automação do Ansible e execute comandos neles usando o Ansible do linuxhint-711ea máquina.
Vou simplesmente ligar host1 e host2 como hosts Ansible neste artigo.
Instalando o Ansible:
Você pode facilmente instalar o Ansible no Ubuntu 20.04 LTS do repositório oficial de pacotes do Ubuntu.
Primeiro, atualize o cache do repositório de pacotes APT com o seguinte comando:
$ sudo apt update
O cache do repositório de pacotes APT deve ser atualizado.
Agora, instale o Ansible com o seguinte comando:
$ sudo apt install ansible
Para confirmar a instalação, pressione Y e então pressione
Ansible deve ser instalado.
Agora, execute o seguinte comando para verificar se o ansible está funcionando corretamente.
$ ansible - versãoComo você pode ver, o comando ansible está disponível e funcionando corretamente.
Gerando chave SSH:
Agora, você deve gerar uma chave SSH no computador onde instalou o Ansible.
Para gerar uma chave SSH, execute o seguinte comando:
$ ssh-keygen
Agora aperte
Aperte
Aperte
Uma chave SSH deve ser gerada.
Configurando Hosts Ubuntu para Ansible Automation:
Nesta seção, vou mostrar como configurar um host Ubuntu (host1) para automação Ansible. Se você tiver mais de um host que deseja automatizar usando o Ansible, repita o mesmo processo em cada um dos hosts.
Os hosts Ubuntu Ansible (que você deseja configurar para automação Ansible) devem ter o pacote do servidor SSH instalado.
Primeiro, atualize o cache do repositório de pacotes APT com o seguinte comando:
$ sudo apt update
Em seguida, instale o servidor OpenSSH com o seguinte comando:
$ sudo apt install openssh-server -y
No meu caso, o pacote do servidor OpenSSH já está instalado. Se não estiver instalado no seu caso, deve ser instalado.
Agora, verifique se o sshd serviço está sendo executado com o seguinte comando:
$ sudo systemctl status sshdComo você pode ver, o sshd serviço é ativo (correndo) e ativado (iniciará automaticamente na inicialização do sistema).
Se o sshd serviço não é ativo (em execução) no seu caso, inicie-o manualmente com o seguinte comando:
$ sudo systemctl start sshdSe o sshd serviço não é ativado (não adicionado à inicialização do sistema) no seu caso, adicione-o à inicialização do sistema manualmente com o seguinte comando:
$ sudo systemctl enable sshdAgora, configure o firewall para permitir o acesso SSH com o seguinte comando:
$ sudo ufw permitir ssh
Você também deve criar um ansible usuário e permitir acesso sudo sem senha ao ansible do utilizador.
Para criar um ansible usuário, execute o seguinte comando:
$ sudo adduser ansible
Agora, digite uma senha para o ansible usuário e imprensa
Agora, digite a senha novamente e pressione
Agora aperte
Agora aperte
Agora aperte
Agora aperte
Agora aperte
Agora, digite y e então pressione
A ansible o usuário deve ser criado.
Agora, configure o acesso sudo sem senha ao ansible usuário com o seguinte comando:
$ echo "ansible ALL = (ALL) NOPASSWD: ALL" | sudo tee / etc / sudoers.d / ansible
Agora, encontre o endereço IP do host Ansible (host1) com o seguinte comando:
$ hostname -IAqui, o endereço IP no meu caso é 192.168.20.162. Será diferente para você. Portanto, certifique-se de substituí-lo pelo seu formulário agora em.
Agora, do computador onde você instalou o Ansible, copie a chave pública SSH para o host Ansible (host1) do seguinte modo:
$ ssh-copy-id ansible @ 192.168.20.162
Digitar sim e pressione
Agora, digite a senha para o ansible usuário e imprensa
A chave SSH pública deve ser copiada para host1.
Agora, desative o login baseado em senha para o ansible usuário com o seguinte comando:
$ sudo usermod -L ansible
Agora, você só pode fazer SSH no host Ansible (host1) como ansible usuário sem nenhuma senha do computador de onde copiou a chave pública SSH (neste caso, o computador onde você instalou o Ansible). Mas você não será capaz de SSH no host Ansible (host1) como ansible usuário de qualquer outro computador. Eu configurei os hosts Ansible desta forma por razões de segurança. Enquanto o ansible o usuário não precisa de nenhuma senha para executar comandos administrativos, é arriscado permitir o login baseado em senha para o ansible do utilizador.
Agora, você deve ser capaz de fazer SSH no host ansible host1 do computador onde você instalou o Ansible da seguinte forma:
$ ssh ansible @ 192.168.20.162
Como você pode ver, eu consigo acessar o host Ansible (host1) como usuário ansible sem qualquer senha. Então, o host Ansible (host1) está pronto para a automação Ansible.
Se por algum motivo, você deseja permitir o login baseado em senha para o ansible usuário novamente, execute o seguinte comando no host Ansible (host1):
$ sudo usermod -U ansible
Você pode configurar quantos hosts quiser para a automação Ansible da mesma maneira.
Neste artigo, configurei apenas 2 hosts, host1 e host2 para a demonstração.
Teste Ansible:
Agora, crie um novo diretório de projeto ~ / ansible-demo / no computador onde você instalou o Ansible da seguinte forma:
$ mkdir ~ / ansible-demo
Agora, navegue até o ~ / ansible-demo / diretório da seguinte forma:
$ cd ~ / ansible-demo /
Agora, crie um novo hospedeiros arquivo no diretório do projeto da seguinte maneira:
hosts $ nano
Agora, digite os endereços IP ou nomes DNS dos hosts Ansible (host1 e host2 no meu caso) no hospedeiros arquivo da seguinte forma:
192.168.20.162192.168.20.153
Agora, salve o arquivo pressionando
Agora, tente executar ping em todos os hosts usando Ansible da seguinte maneira:
$ ansible all -i ./ hosts -u ansible -m pingNOTA: Aqui, a opção -u é usada para especificar o nome de usuário (ansible neste caso) que Ansible usará para SSH nos hosts.
Como você pode ver, todos os hosts podem receber ping. Então, os hosts estão prontos para a automação Ansible.
Da mesma forma, você pode executar qualquer comando nos hosts usando Ansible da seguinte maneira:
$ ansible all -i ./ hosts -u ansible -m shell -a 'echo "$ (hostname) - $ (hostname -I)"'
Como você pode ver, o comando foi executado com sucesso em cada um dos hosts e a saída é exibida.
Então, é assim que você instala o Ansible no Ubuntu 20.04 LTS e configurar o Ubuntu 20.04 hosts LTS para automação Ansible. Obrigado por ler este artigo.