Troubleshooting

SSH nao conecta apos mudanca de porta

Causa: Firewall bloqueando porta 2222.

Verificar:

ss -tlnp | grep 2222
iptables -L INPUT -n | grep 2222
ufw status

Solucao:

# UFW
sudo ufw allow 2222/tcp

# iptables
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT

Nota: A partir da v2.10.2, o Implant libera a porta no firewall ANTES de alterar o SSH.

Docker nao inicia

Verificar:

systemctl status docker
journalctl -u docker -n 50

Reverter configuracao:

sudo rm /etc/docker/daemon.json
sudo systemctl restart docker

Fail2Ban bloqueando IP legitimo

Verificar:

sudo fail2ban-client status sshd

Desbanir IP:

sudo fail2ban-client set sshd unbanip <IP>

Adicionar a whitelist:

# Editar /etc/fail2ban/jail.local
# Adicionar IP ao ignoreip

Self-update falha com "Permission denied"

Causa: Arquivo temporario de outra execucao em /tmp/.

Solucao (v2.12.10+): Corrigido automaticamente. Para versoes anteriores:

rm /tmp/implant_new /tmp/deployally_new 2>/dev/null
implant self-update --force

Causa: /tmp montado como tmpfs (filesystem diferente de /usr/local/bin).

Solucao: Atualizar para v2.12.8+. Para versoes anteriores:

curl -sL https://implant.ccs.systems/implant -o /tmp/implant_new
chmod 755 /tmp/implant_new
cp /tmp/implant_new /usr/local/bin/implant
rm /tmp/implant_new

Self-update falha com "Text file busy"

Causa: O binario esta em execucao enquanto tenta ser substituido.

Solucao: Atualizar para v2.11.6+. Para versoes anteriores:

curl -sL https://implant.ccs.systems/implant -o /tmp/implant_new
chmod 755 /tmp/implant_new
rm /usr/local/bin/implant
cp /tmp/implant_new /usr/local/bin/implant
rm /tmp/implant_new

install claude-code: "Claude CLI nao encontrado no PATH"

Causa: O instalador nativo coloca o claude em ~/.local/bin/ que pode nao estar no PATH.

Solucao:

# Adicionar ao PATH
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# Ou criar symlink
sudo ln -sf ~/.local/bin/claude /usr/local/bin/claude

Logs de Debug

# Modo verbose
implant check --auto-fix --verbose

# Modo debug completo
RUST_LOG=debug implant check --auto-fix