# Acesso SSH via PuTTY, MobaXterm e Termius

O DataDike PAM atua como **bastion host** para todos os acessos SSH. O usuário conecta ao PAM (porta 2222), que autentica, autoriza e roteia a conexão ao servidor de destino. Toda a sessão é gravada e auditada.

### Formato da String de Conexão

Conexão com menu interativo (lista servidores disponíveis):

```
ssh -p 2222 UsuarioPAM@IPdoPAM
```

Conexão direta (sem menu):

```
ssh -p 2222 UsuarioPAM@ContaDoAtivo@IPdoAtivo@IPdoPAM
```

| Parâmetro          | Descrição                           | Exemplo       |
| ------------------ | ----------------------------------- | ------------- |
| **Usuario PAM**    | Seu nome de usuário no DataDike PAM | joao.silva    |
| **Conta do ativo** | Conta no servidor de destino        | root          |
| **IP do ativo**    | IP do servidor Linux                | 192.168.1.100 |
| **IP do PAM**      | IP do servidor DataDike PAM         | 10.0.0.50     |
| **-p 2222**        | Porta SSH do PAM (padrão: 2222)     | 2222          |

### PuTTY

1. Abra o PuTTY.
2. Em **Host Name**: IP do DataDike PAM (ex: 10.0.0.50).
3. Em **Port**: **2222**.
4. Connection type: **SSH**.
5. Clique **Open**.
6. No prompt "login as:", digite seu usuário PAM (ou formato direto: joao.silva\@root\@192.168.1.100).
7. Digite a senha do PAM.
8. Se MFA habilitado, digite o código TOTP.

### MobaXterm

1. Clique em **Session → SSH**.
2. **Remote host**: IP do PAM (ex: 10.0.0.50).
3. Marque **Specify username**: joao.silva (ou formato direto).
4. **Port**: **2222**.
5. Clique **OK**.
6. Digite a senha do PAM.

**Vantagem MobaXterm:** Painel SFTP lateral automático para transferência de arquivos por drag-and-drop.

### Termius

1. Clique em **+ New Host**.
2. **Address**: IP do PAM.
3. **Port**: **2222**.
4. **Username**: joao.silva (ou formato direto).
5. **Password**: senha do PAM.
6. **Label**: nome descritivo (ex: "PAM → Servidor Prod").
7. Clique **Save** e **Connect**.

### Terminal Nativo (Linux/macOS)

```
# Com menu interativo
ssh -p 2222 joao.silva@10.0.0.50

# Conexão direta
ssh -p 2222 joao.silva@root@192.168.1.100@10.0.0.50
```

#### SSH Config (conexões frequentes)

```
Host pam-servidor-prod
    HostName 10.0.0.50
    Port 2222
    User joao.silva@root@192.168.1.100
```

Depois conecte com: **ssh pam-servidor-prod**

### Conexão com Chave SSH (sem senha)

1. Gere a chave: `ssh-keygen -t rsa -b 4096 -f ~/.ssh/chave_datadike`
2. No PAM web: **Configurações Pessoais → Autenticação → Chaves SSH**.
3. Cole o conteúdo de `~/.ssh/chave_datadike.pub`.
4. Conecte: `ssh -p 2222 -i ~/.ssh/chave_datadike joao.silva@10.0.0.50`

### Conexão com MFA

1. Conecte normalmente via SSH.
2. Digite sua senha do PAM.
3. Quando aparecer **"\[MFA verify]"**, digite o código do app autenticador.
4. Sessão estabelecida.

### Resumo por Cliente

| Cliente            | Host                       | Port | Username                             |
| ------------------ | -------------------------- | ---- | ------------------------------------ |
| **PuTTY**          | IP do PAM                  | 2222 | login as: UsuarioPAM\@Conta\@IPAtivo |
| **MobaXterm**      | IP do PAM                  | 2222 | UsuarioPAM\@Conta\@IPAtivo           |
| **Termius**        | IP do PAM                  | 2222 | UsuarioPAM\@Conta\@IPAtivo           |
| **Terminal (ssh)** | ssh -p 2222 ...\@IP do PAM | 2222 | UsuarioPAM\@Conta\@IPAtivo           |

### O Que o PAM Protege

* **Autenticação centralizada** — usuário não precisa saber a senha do servidor.
* **Autorização granular** — controle de quem acessa qual servidor, com qual conta.
* **Gravação de sessão** — toda sessão SSH é gravada em vídeo.
* **Log de comandos** — cada comando digitado é registrado.
* **Filtro de comandos** — comandos perigosos podem ser bloqueados (rm -rf, shutdown).
* **Monitoramento ao vivo** — o admin pode assistir a sessão em tempo real.
