Topologia de rede:
Aqui o linuxhint-711ea é uma máquina Ubuntu 20.04 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 Ansible e execute comandos neles usando 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 a partir do repositório oficial de pacotes do Ubuntu.
Primeiro, atualize o cache do repositório de pacotes APT com o seguinte comando:
$sudoatualização apt
O cache do repositório de pacotes APT deve ser atualizado.
Agora, instale o Ansible com o seguinte comando:
$sudoaptoinstalaransiblePara confirmar a instalação, pressione E e então pressione .
O 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-keygenAgora aperte .
pressione .
pressione .
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:
$sudoatualização aptEm seguida, instale o servidor OpenSSH com o seguinte comando:
$sudoaptoinstalarservidor openssh-eNo 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:
$sudosystemctl status sshdComo você pode ver, o sshd serviço é ativo (correndo) e ativado (será iniciado 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:
$sudosystemctl 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:
$sudosystemctlpermitirsshdAgora, configure o firewall para permitir o acesso SSH com o seguinte comando:
$sudoufw permitirsshVocê 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:
$sudoadduser ansibleAgora, digite uma senha para o ansible usuário e imprensa .
Agora, redigite a senha e pressione .
Agora aperte .
Agora aperte .
Agora aperte .
Agora aperte .
Agora aperte .
Agora, digite e e então pressione .
Um ansible usuário deve ser criado.
Agora, configure o acesso sudo sem senha ao ansible usuário com o seguinte comando:
$jogou fora 'ansible ALL = (ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/ansibleAgora, encontre o endereço IP do host Ansible ( host1 ) com o seguinte comando:
$nome de anfitrião -EUAqui, 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 diante.
Agora, no 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.162Digitar 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:
$sudousermod-AansibleAgora, você só pode fazer SSH no host Ansible ( host1 ) Como ansible usuário sem nenhuma senha do computador do qual 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. Configurei os hosts Ansible dessa forma por motivos 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:
$sshansible@192.168.20.162Como 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 ):
$sudousermod-VOCÊansibleVocê pode configurar quantos hosts desejar 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-demoAgora, 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:
$nanohospedeirosAgora, 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 + X seguido pela E e então .
Agora, tente executar ping em todos os hosts usando Ansible da seguinte maneira:
$ansible tudo-eu./hospedeiros-vocêansible-m pingNOTA: Aqui, a opção -u é usada para especificar o nome de usuário (ansible neste caso) que o Ansible usará para SSH nos hosts.
Como você pode ver, todos os hosts podem receber ping. Portanto, os hosts estão prontos para a automação do Ansible.
Da mesma forma, você pode executar qualquer comando nos hosts usando Ansible da seguinte maneira:
$ansible tudo-eu./hospedeiros-vocêansible-mConcha-para 'echo' $ (hostname) - $ (hostname -I) ''Como você pode ver, o comando foi executado com êxito em cada um dos hosts e a saída é exibida.
Portanto, é assim que você instala o Ansible no Ubuntu 20.04 LTS e configura os hosts do Ubuntu 20.04 LTS para a automação do Ansible. Obrigado por ler este artigo.