implant ssh-key
Gerencia chaves SSH no authorized_keys do servidor.
Uso
implant ssh-key [OPTIONS]Flags
| Flag | Descricao |
|---|---|
--add-public-key <KEY> |
Adiciona chave publica diretamente |
--add-public-key-url <URL> |
Busca chave publica de uma URL (somente https://) e adiciona |
--list |
Lista as chaves do servidor central no authorized_keys |
--remove <ID> |
Remove chave por comentario ou fingerprint parcial |
--whitelist-ip <IP> |
Adiciona IP a whitelist (fail2ban, UFW, SSH, rate limit do implant). Repetivel: --whitelist-ip IP1 --whitelist-ip IP2. Pode ser usada sozinha, sem --add-public-key |
--alias <NAME> |
Nome do alias sugerido (padrao: hostname) |
Exemplos
Adicionar chave publica do servidor central
implant ssh-key --add-public-key "ssh-ed25519 AAAA... user@central"Adicionar chave de uma URL
implant ssh-key --add-public-key-url "https://keys.example.com/central.pub"Adicionar com whitelist e alias
implant ssh-key --add-public-key "ssh-ed25519 AAAA..." --whitelist-ip 203.0.113.10 --alias stagingWhitelist de varios IPs (sem adicionar chave)
implant ssh-key --whitelist-ip 203.0.113.10 --whitelist-ip 203.0.113.11Listar chaves
implant ssh-key --listRemover chave
implant ssh-key --remove "user@central"Modelo de Funcionamento
O Implant gerencia chaves no modelo servidor central -> servidores gerenciados:
- O servidor central tem uma chave privada SSH
- O Implant adiciona a chave publica correspondente ao
authorized_keysdos servidores gerenciados - O servidor central pode entao acessar os servidores via SSH
Fluxo
Servidor Central Servidor Gerenciado
(chave privada) (authorized_keys)
| |
| implant ssh-key |
| --add-public-key "..." |
| --whitelist-ip <IP_CENTRAL> |
| |
| SSH conecta ------------>|
| |Whitelist
A flag --whitelist-ip isenta o IP em 4 camadas:
- Fail2Ban: Adiciona ao
ignoreip(emjail.local) - UFW:
ufw allow from <IP> to any port <porta SSH atual> - SSH: Adiciona ao
PerSourcePenaltyExemptList - Rate limit do implant: Adiciona a whitelist do rate-limit (e remove o IP da blocklist, se estiver la)
Camadas ausentes no host (ex.: UFW nao instalado ou inativo, Fail2Ban sem jail.local) sao puladas e marcadas com ⊘. O resumo final lista apenas os alvos em que o IP ficou de fato isento. Se qualquer passo falhar para algum IP, o resumo informa Whitelist FALHOU para N de M IP(s) e o comando sai com codigo diferente de 0 — os demais passos continuam rodando para cada IP.
IP na whitelist tem precedencia sobre a blocklist: a ordem dos ganchos do implant no firewall e whitelist > blocklist > geo-block > rate-limit.
Comentario da Chave
O comentario da chave (ex.: user@host, padrao do ssh-keygen) e usado como identificador. Caracteres fora de [A-Za-z0-9._-] sao convertidos para - (limite de 64 caracteres).