implant agent

Instala, configura e mostra o estado do agente de controle remoto: um serviço systemd que mantém o servidor conectado a um console de gerenciamento remoto. Só é necessário quando o servidor é operado por um console; o implant funciona sem ele.

Uso

implant agent [--install] [--configure] [--status] [OPTIONS]

Sem nenhuma das três flags, o comando não faz nada. As flags podem ser combinadas e rodam na ordem install → configure → status.

Flags

Flag Descrição
--install Baixa, configura, registra e inicia o agente
--configure Só regrava a configuração e a unit systemd (não baixa, não reinicia)
--status Diz se o agente está instalado e rodando
-t, --token <TOKEN> Token de identificação do servidor (ou PROTOCOLO_TOKEN)
-c, --config <CONFIG> Arquivo de configuração (padrão /etc/protocolo-implant/config.toml)
--dry-run Mostra os comandos sem executar
-v, --verbose Mais detalhes

A URL do console, o token e o hostname vêm da seção [server] do config.toml (api_url, token, hostname).

O que muda no servidor

`--install`

  1. Download do binário do agente para a arquitetura do host, autenticado pelo token, e instalação em /usr/local/bin/ccs-agent (modo 755).
  2. Configuração: cria /etc/ccs-agent/config.yaml (modo 600) com a URL do console, o token e o hostname, e grava a unit /etc/systemd/system/ccs-agent.service (Restart=always, roda como root), seguida de systemctl daemon-reload.
  3. Chaves: se ainda não existir, gera um par RSA 4096 e um certificado autoassinado (validade de 365 dias) em /etc/ccs-agent/agent.key (modo
    1. e /etc/ccs-agent/agent.crt, e registra o certificado no console.
  4. Início: systemctl enable + systemctl start da unit e confere, após alguns segundos, se o serviço ficou ativo. Se não ficou, o implant avisa e indica o journalctl -u ccs-agent para investigar.

`--configure`

Repete apenas o passo 2: regrava o config.yaml e a unit e roda daemon-reload. Use depois de trocar token, URL ou hostname no config.toml; para o agente carregar a configuração nova, reinicie a unit com systemctl restart ccs-agent.

`--status`

Somente leitura: confere se o binário está instalado e se o serviço está ativo; quando ativo, mostra o início do systemctl status.

Exemplos

# Ver o que a instalação faria
sudo implant agent --install --dry-run

# Instalar com o token na linha de comando
sudo implant agent --install --token "$TOKEN"

# Regravar a configuração e conferir
sudo implant agent --configure --status

Como remover

Não há flag de desinstalação. Para remover à mão:

sudo systemctl disable --now ccs-agent
sudo rm /etc/systemd/system/ccs-agent.service
sudo systemctl daemon-reload
sudo rm /usr/local/bin/ccs-agent
sudo rm -r /etc/ccs-agent                 # config, token e chaves

Remover o diretório de configuração apaga o token e a chave privada do agente. Revogue o registro do servidor também no console.

Saída JSON

Com -o json, o envelope agent traz apenas quais ações foram pedidas (install, configure, status). As mensagens de andamento também saem no stdout, antes do envelope: este comando não é pensado para consumo por máquina.

Notas

  • O token não aparece na linha de comando: ele e o corpo do registro chegam ao curl por variável de ambiente, e o cabeçalho Authorization pelo stdin. Por isso ficam fora da saída do --dry-run, do --verbose, das mensagens de erro e da lista de processos (ps).
  • Com --dry-run num servidor que ainda não tem o agente, a simulação segue até o fim: o certificado, que só seria gerado na instalação real, não é lido no ensaio.
  • O módulo agent do implant check (--modules agent) tem os itens "Agent instalado" e "Agent rodando" e aponta implant agent --install quando falta.
  • O token fica em texto em /etc/ccs-agent/config.yaml (modo 600, só root lê).

Veja também