Entrar ou criar conta

Laboratório: Provisionamento automatizado de um servidor clínico Linux com Ansible

Você vai automatizar a instalação e configuração de um servidor Linux para clínica, usando Ansible em duas máquinas virtuais. Em cerca de 2 horas, terá um ambiente pronto para expandir automações clínicas.

Automação de processos clínicos com Ansible
Ligado ao treinamento Automação de processos clínicos com Ansible

Roteiro para estudo em ambiente de laboratório ou de teste. Execute apenas em equipamentos, redes e contas que você tenha autorização para usar, com backup e homologação próprios. Comandos podem causar indisponibilidade ou perda de dados. Software e marcas citados pertencem aos seus titulares. Termos de Uso.

ULC-LAB-CLIN-0002 · Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
Duração estimada
120 min
Passos
12
Validações
4
Versões da documentação consultada
Ansible a versão estável atual · OpenSSH a versão estável atual
Objetivo

Demonstrar, na prática, como o Ansible pode provisionar e configurar um servidor Linux para uso clínico, garantindo padronização e rastreabilidade. O laboratório cobre desde a preparação do ambiente até a execução de um playbook real, incluindo validações e troubleshooting, para que você entenda o ciclo completo da automação.

Topologia

Duas máquinas virtuais em rede privada: uma controladora (Ansible) e uma alvo (servidor clínico). O controlador acessa o alvo via SSH (porta 22). Exemplo: controlador em 192.168.56.10, alvo em 192.168.56.20.

           +-------------------+
           |  VM1: Controlador|
           |  (Ansible)       |
           |  192.168.56.10   |
           +--------+---------+
                    |
           (rede privada)
                    |
           +--------+---------+
           |  VM2: Alvo       |
           |  (Servidor Linux)|
           |  192.168.56.20   |
           +------------------+

Equipamentos e software

ItemRequisito, licença ou versão
VM Controlador1 vCPU, 1 GB RAM, 1 interface de rede, Ubuntu Server 22.04 LTS
VM Alvo1 vCPU, 1 GB RAM, 1 interface de rede, Ubuntu Server 22.04 LTS
AnsibleGPL v3 · a versão estável atual
OpenSSHBSD · a versão estável atual

Roteiro

  1. Preparar as máquinas virtuais

    Crie duas VMs Ubuntu Server 22.04 LTS, conectadas à mesma rede privada. Uma será o controlador (Ansible), outra o alvo (servidor clínico).

    O que você deve ver: Ambas as VMs ligadas, com IPs privados acessíveis entre si.

  2. Atualizar os sistemas operacionais

    Mantenha ambos os sistemas atualizados para evitar falhas por pacotes antigos.

    sudo apt update && sudo apt upgrade -y

    O que você deve ver: Nenhum pacote pendente de atualização.

  3. Instalar o OpenSSH no alvo

    O Ansible usa SSH para se conectar. Instale e inicie o serviço no servidor alvo.

    sudo apt install openssh-server -y
    sudo systemctl enable --now ssh

    O que você deve ver: Serviço SSH ativo e escutando na porta 22.

  4. Instalar o Ansible no controlador

    O controlador precisa do Ansible instalado para orquestrar as automações.

    sudo apt install ansible -y

    O que você deve ver: Comando 'ansible --version' retorna informações da versão.

  5. Configurar autenticação SSH sem senha

    Para automação, o controlador deve acessar o alvo via chave SSH, sem senha.

    ssh-keygen -t ed25519 -C "ansible-lab"
    ssh-copy-id usuario@192.168.56.20

    O que você deve ver: Acesso SSH do controlador ao alvo sem pedir senha.

  6. Testar conectividade SSH

    Confirme que o controlador acessa o alvo via SSH.

    ssh usuario@192.168.56.20 'hostname'

    O que você deve ver: Nome do host do alvo exibido no terminal.

  7. Criar inventário Ansible

    O inventário define quais hosts o Ansible vai gerenciar.

    echo '[clinica]
    192.168.56.20 ansible_user=usuario' > ~/inventario

    O que você deve ver: Arquivo inventario criado com IP do alvo e usuário.

  8. Criar playbook básico de provisionamento

    Um playbook YAML descreve as tarefas de configuração do servidor clínico.

    nano ~/provisiona_clinica.yml

    O que você deve ver: Arquivo salvo com conteúdo YAML válido.

  9. Exemplo de playbook de provisionamento

    Inclua tarefas como atualização, instalação de pacotes clínicos e hardening.

    Conteúdo do arquivo:
    
    ---
    - hosts: clinica
      become: yes
      tasks:
        - name: Atualizar pacotes
          apt:
            update_cache: yes
            upgrade: dist
        - name: Instalar pacote de prontuário eletrônico (exemplo: GNU Health)
          apt:
            name: gnuhealth
            state: present
        - name: Garantir firewall ativo
          ufw:
            state: enabled
            policy: deny
        - name: Permitir SSH
          ufw:
            rule: allow
            port: 22
            proto: tcp

    O que você deve ver: Playbook YAML salvo corretamente. Consulte yaml.org/spec para sintaxe.

  10. Executar o playbook

    Rode o playbook para provisionar e configurar o servidor clínico.

    ansible-playbook -i ~/inventario ~/provisiona_clinica.yml

    O que você deve ver: Saída com status de cada tarefa (ok, changed, failed).

  11. Verificar logs e estado do servidor

    Confira se as mudanças foram aplicadas no alvo.

    ssh usuario@192.168.56.20 'dpkg -l | grep gnuhealth && sudo ufw status'

    O que você deve ver: Pacote gnuhealth instalado e firewall ativo, SSH permitido.

  12. Reaplicar o playbook (idempotência)

    Execute novamente para garantir que tarefas não sejam repetidas desnecessariamente.

    ansible-playbook -i ~/inventario ~/provisiona_clinica.yml

    O que você deve ver: Tarefas reportadas como 'ok', sem mudanças desnecessárias.

Como saber que funcionou

TesteComandoCritério
SSH sem senha do controlador para o alvossh usuario@192.168.56.20 'echo ok'Saída 'ok' sem pedir senha
Pacote clínico instaladossh usuario@192.168.56.20 'dpkg -l | grep gnuhealth'Linha contendo 'gnuhealth' aparece
Firewall ativo e SSH permitidossh usuario@192.168.56.20 'sudo ufw status'Status: active; 22/tcp ALLOW
Idempotência do playbookansible-playbook -i ~/inventario ~/provisiona_clinica.ymlTarefas reportadas como 'ok' sem mudanças

Troubleshooting

SintomaCausa provávelCorreção
Erro de permissão ao rodar playbookUsuário do alvo sem sudo sem senhaAdicione o usuário ao grupo sudo e configure sudoers conforme a documentação
Falha de conexão SSHChave pública não copiada ou firewall bloqueandoReenvie a chave com ssh-copy-id e confira as regras do UFW
Pacote gnuhealth não encontradoRepositório não habilitadoAtualize apt e habilite repositórios necessários
Playbook falha por sintaxe YAMLErro de indentação ou formataçãoValide o YAML em yaml.org/spec e corrija

Segurança e hardening

  • Use chaves SSH fortes e exclusivas para automação
  • Restrinja o acesso SSH apenas ao controlador
  • Ative e configure o firewall (UFW) no alvo
  • Revise permissões sudo do usuário remoto
  • Remova serviços desnecessários do servidor clínico

Checklist final

Referências

  1. Documentação oficial do Ansible · Ansible (Red Hat) (docs.ansible.com)
  2. Especificação YAML · Yaml (yaml.org)
Verificação editorial
Publicado
09/09/2026
Última revisão
09/09/2026
Versão do conteúdo
1.0
Referências
2 oficiais
Revisão técnica
redação e revisão por IA, URLs conferidas na publicação
Status
Atual
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.