# Troubleshooting - Problemas Comuns

Guia de resolução dos problemas mais frequentes no DataDike PAM.

### 1. Senha Esquecida

#### Via E-mail (se SMTP configurado)

1. Na tela de login, clique em **"Esqueci minha senha"**.
2. Informe seu nome de usuário ou e-mail.
3. Acesse o e-mail recebido e clique no link de redefinição.
4. Defina a nova senha.

#### Via Console (se admin perdeu acesso)

```
docker exec -it jms_core /bin/bash
cd /opt/jumpserver/apps/
python manage.py shell
from users.models import User
u = User.objects.get(username='admin')
u.reset_password('NovaSenha123!')
u.save()
exit
```

### 2. Conta Bloqueada por Tentativas Excessivas

#### Via Interface Web (outro admin desbloqueia)

1. Acesse **Console → Usuários → Usuários**.
2. Localize o usuário bloqueado.
3. Clique no usuário e selecione **"Desbloquear"**.

#### Via Console (admin bloqueado)

```
docker exec -it jms_core /bin/bash
cd /opt/jumpserver/apps/
python manage.py shell
from django.core.cache import cache
cache.delete_pattern('_LOGIN_BLOCK_*')
cache.delete_pattern('_LOGIN_LIMIT_*')
exit
```

### 3. Conexão SSH Recusada

* Verifique se o PAM está acessível na **porta 2222**.
* Teste: `telnet IP_DO_PAM 2222`
* Verifique o firewall: `firewall-cmd --list-ports`
* Verifique se os containers estão rodando: `docker ps`
* Confira se a conta do ativo está cadastrada no PAM.

### 4. Sessão Travada ou Desconectada

* **Timeout de inatividade:** O PAM desconecta sessões ociosas após o tempo configurado. Ajuste em Configurações do Sistema.
* **Rede instável:** Verifique latência entre cliente → PAM → servidor.
* **Sessão ocupada:** Se aparecer "sessão em uso", aguarde ou peça ao admin encerrar a sessão anterior em Auditoria → Sessões Online.

### 5. MFA Não Aceita o Código

* **Relógio desincronizado:** O TOTP depende do horário. Sincronize o relógio do celular (Configurações → Data/Hora → Automático).
* **Código expirado:** Use o código atual, não o anterior. O TOTP muda a cada 30 segundos.
* **Conta MFA perdida:** O admin pode resetar o MFA do usuário em Console → Usuários → selecionar usuário → Resetar MFA.

### 6. Erro de Autenticação em Banco de Dados

* Confirme o formato do username: **UsuarioPAM\@ContaDoBanco\@IPdoBanco**.
* A senha deve ser do **PAM**, não do banco de dados.
* Verifique se existe autorização (regra de acesso) para o usuário naquele banco.
* Confirme que a porta correta está sendo usada (MySQL: 3306, PostgreSQL: 5432, MSSQL: 1433).

### 7. Gravação de Sessão Indisponível

* **Botões cinza:** Sessão muito curta, PAM não considerou como conexão bem-sucedida.
* **Arquivo não encontrado:** Verifique armazenamento de gravações (espaço em disco).
* **Formato incompatível:** Baixe o DataDike PAM Video Player para reprodução offline.

### 8. E-mail Não Chega (recuperação de senha)

* Verifique as configurações SMTP em **Configurações do Sistema → Configurações de E-mail**.
* Teste o envio de e-mail pelo botão de teste na interface.
* Provedores comuns: Gmail requer App Password com 2FA. Amazon SES requer verified identity.
* Verifique a pasta de spam do destinatário.

### Resumo Rápido

| Problema                  | Solução Rápida                              | Acesso Necessário |
| ------------------------- | ------------------------------------------- | ----------------- |
| Senha esquecida (usuário) | "Esqueci minha senha" na tela de login      | SMTP configurado  |
| Senha esquecida (admin)   | python manage.py shell → reset\_password()  | SSH ao servidor   |
| Conta bloqueada (usuário) | Admin desbloqueia pela interface            | Acesso admin      |
| Conta bloqueada (admin)   | cache.delete\_pattern('\_LOGIN\_BLOCK\_\*') | SSH ao servidor   |
| SSH recusado              | Verificar porta 2222, firewall e containers | SSH ao servidor   |
| MFA não aceita código     | Sincronizar relógio do celular              | Nenhum            |
