Instale Ansible no Debian for Automation

Instale Ansible no Debian for Automation

Topologia de rede

Aqui, Ansible-PC é uma máquina Debian 10, onde instalaremos Ansible.

Os servidores 6F7C2 e 6B219 são as 10 máquinas Debian que configuraremos para a Ansible Automation. Vou simplesmente chamar esses servidores anfitriões Ansible para os fins deste artigo.

Podemos usar Ansible de Ansible-PC para automatizar diferentes tarefas no 6F7C2 e 6B219 Servidores Debian.

Instalando Ansible

Nesta seção, mostrarei como instalar o Ansible Ansible-PC.

Você pode instalar o Ansible no Debian 10 do Repositório Oficial do Pacote do Debian.

Primeiro, atualize o cache do repositório de pacotes apt com o seguinte comando:

$ sudo apt update

Agora, instale Ansible com o seguinte comando:

$ sudo apt installible

Para confirmar a instalação, pressione Y e depois pressione .

Ansible deve ser instalado.

Agora, execute o seguinte comando para verificar se Ansible está funcionando corretamente.

$ Ansible -versão

Como você pode ver, o comando Ansible está disponível e está funcionando corretamente. Ansible 2.7.7 é a versão mais recente do Ansible disponível no repositório de pacotes do Debian no momento em que este artigo foi escrito.

Gerando a chave SSH

Na máquina Debian 10 (Ansible-PC) Onde você instalou Ansible, você deve primeiro gerar uma chave SSH.

Para gerar uma chave SSH, execute o seguinte comando:

$ ssh-keygen

Agora, pressione .

Imprensa .

Imprensa .

Uma chave SSH deve ser gerada.

Configurando os hosts do Debian para Ansible Automation

Nesta seção, mostrarei como configurar um host de Debian para Ansible Automation. Se você tem vários hosts que deseja automatizar usando Ansible, repita o mesmo processo para cada um dos hosts.

Os hosts que você gostaria de configurar para a Ansible Automation devem ter o pacote do servidor SSH pré-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 de servidor OpenSsh já está instalado. Se não estiver instalado no seu caso, deve ser instalado antes desta etapa.

Agora, verifique se o sshd O serviço está sendo executado através do seguinte comando:

$ sudo systemctl status sshd

Como você pode ver, o sshd serviço é ativo (correndo) e habilitado (Iniciará automaticamente na inicialização do sistema).

Se o sshd serviço é não ativo (em execução), comece manualmente com o seguinte comando:

$ sudo systemctl start sshd

Se o sshd serviço não é habilitado (Não adicionado à inicialização do sistema) No seu caso, adicione -o à inicialização do sistema manualmente com o seguinte comando:

$ sudo systemctl habilitar sshd

Agora, crie um Ansible usuário e permitir acesso a sudo sem senha ao Ansible do utilizador.

Para criar um Ansible Usuário, execute o seguinte comando:

$ sudo adduser -shell /bin /bash - -gecos "" Ansible

Digite uma senha para o Ansible usuário e pressione .

Vestem a senha e pressione .

Um Ansible O usuário deve ser criado.

Agora, para permitir acesso a sudo sem senha ao Ansible Usuário, edite o /etc/sudoers Arquivo com o seguinte comando:

$ sudo visudo

Agora, adicione a seguinte linha ao /etc/sudoers arquivo.

Ansible all = (all) NoPasswd: todos

Em seguida, salve o arquivo pressionando + X seguido pela Y, e depois pressione .

Agora, encontre o endereço IP do Ansible Host 6F7C2 com o seguinte comando:

$ hostname -i

Aqui, o endereço IP no meu caso é 192.168.20.167. Vai ser diferente para você. Portanto, substitua este endereço por seu próprio formulário agora em.

Copiando a chave pública do SSH para o anfitrião Ansible

Do computador onde você instalou Ansible (Ansible-PC), copie a chave pública do SSH para o Ansible Host 6F7C2 do seguinte modo:

$ ssh-copy-id [email protected]

Digitar sim e pressione .

Em seguida, digite a senha para o Ansible usuário e pressione .

A chave SSH pública deve ser copiada para Ansible Host 6F7C2.

Você deve ser capaz de SSH no anfitrião Ansible 6F7C2 como o usuário Ansible Sem senha, como você pode ver na captura de tela abaixo:

$ ssh [email protected]

Você também deve ser capaz de executar comandos sudo sem ser solicitado a qualquer senha.

$ sudo ls /

Finalmente, feche a sessão do SSH da seguinte maneira:

$ saída

Proteger anfitriões Ansible

Enquanto o Ansible O usuário pode executar qualquer comando sudo sem ser solicitado para uma senha, configuramos o login baseado em chave SSH para os hosts Ansible. Mas, você ainda pode ssh nos anfitriões Ansible como Ansible usuário usando a senha do Ansible do utilizador. Então, isso não é muito seguro.

Para melhorar a segurança, execute o seguinte comando nos hosts Ansible para desativar o login baseado em senha para o Ansible do utilizador:

$ sudo userMod -l Ansible

Se você decidir mais tarde ativar o login baseado em senha para o Ansible Usuário, execute o seguinte comando no Ansible Host:

$ sudo userMod -u Ansible

Testando Ansible

Crie um novo diretório de projeto ~/projeto/ Na máquina Debian, onde você instalou Ansible (Ansible-PC) Usando o seguinte código:

$ mkdir ~/projeto

Navegue até o ~/projeto/ diretório usando o seguinte código:

$ CD ~/Project/

Crie um novo anfitriões Arquivo no diretório do projeto da seguinte forma:

$ nano hosts

Agora, liste os endereços IP ou nomes de DNS dos anfitriões Ansible (6F7C2 e 6B219 no meu caso) no anfitriões arquivo:

192.168.20.167
192.168.20.168

Depois de terminar, salve o arquivo pressionando + X seguido pela Y e depois bata .

Para testar, tente ping todos os hosts usando Ansible com o seguinte código:

$ Ansible -i ./hospeda tudo -u Ansible -M Ping

OBSERVAÇÃO: Aqui o -você A opção é usada para especificar o nome de usuário (Ansible nesse caso) que Ansible usará para SSH nos hosts.

Como você pode ver, Ansible pode acessar todos os hosts. Então, os anfitriões estão prontos para a Ansible Automation.

Então, é assim que você instala o Ansible no Debian 10 e configura os hosts Debian para Ansible Automation. Obrigado por ler este artigo.