> For the complete documentation index, see [llms.txt](https://wiki.datadike.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.datadike.com/product-guide/configuracoes/pam/integracao-vscode-com-datadike-via-ssh.md).

# Integração VSCode com DataDike via SSH

### 1. Visão Geral

Esta documentação descreve o processo para estabelecer conexões SSH entre o Visual Studio Code e ativos gerenciados pelo sistema DataDike PAM (Privileged Access Management).

***

{% hint style="danger" %}

#### Pré-requisitos

**Ambiente Cliente (VSCode)**

* Visual Studio Code instalado
* Extensão **Remote-SSH** instalada e configurada
* Conectividade de rede com o servidor DataDike PAM
* Porta **2222** liberada no firewall/ambiente para o endereço do servidor DataDike PAM

**Asset de Destino**

* **Linux**: OpenSSH Server instalado e configurado
* **Windows**: OpenSSH Server habilitado
* Protocolo SSH configurado no registro do asset no PAM
* Credenciais válidas cadastradas no sistema
  {% endhint %}

***

#### 1.1 O DataDike PAM suporta dois métodos de conexão:

|                            | SSH Guide                                           | Método Manual          |
| -------------------------- | --------------------------------------------------- | ---------------------- |
| **String de conexão**      | Gerada pelo DataDike                                | Construída manualmente |
| **Identificação do asset** | UUID do asset                                       | IP do asset            |
| **Autenticação**           | Senha DataDike + MFA ou senha temporária            | Senha DataDike + MFA   |
| **Config permanente**      | ✅ Indicado (credencial) / ❌ Não recomendado (token) | ✅ Indicado             |

***

### 2. Métodos de Conexão

#### 2.1 Método 1 — SSH Guide

O SSH Guide do DataDike gera a string de conexão automaticamente, dispensando a construção manual dos parâmetros. Ele oferece dois formatos:

**Credencial permanente:**

```
ssh datadikeUser#accountName#assetUUID@datadikeHostIP -p 2222
```

| Parâmetro        | Descrição                                    |
| ---------------- | -------------------------------------------- |
| `datadikeUser`   | Nome de usuário da conta DataDike            |
| `accountName`    | Nome da credencial/conta cadastrada no asset |
| `assetUUID`      | Identificador único do asset no DataDike     |
| `datadikeHostIP` | Endereço IP do servidor DataDike             |
| Porta            | Fixa: `2222`                                 |

Exemplo:

```
ssh usuario#conta#14bbb1fa-91f8-4c94-84ec-b60060eb6c8a@10.0.30.150 -p 2222
```

**Token temporário:**

```
ssh tokenGerado@datadikeHostIP -p 2222
```

Exemplo:

```
ssh 0dedc00f-53c0-46bc-a1cc-69efe1a5aa05@10.0.30.150 -p 2222
```

> ℹ️ O token temporário tem validade limitada e é gerado sob demanda pelo DataDike. Não deve ser salvo em configurações permanentes, pois expira após o período definido pela plataforma.

***

#### 2.2 Método 2 — String Manual

A string de conexão é construída manualmente seguindo o formato:

```
ssh [datadikeUsername]@[assetUsername]@[assetIP]@[datadikeHostIP] -p2222
```

**Parâmetros:**

| Parâmetro          | Descrição                              | Exemplo                 |
| ------------------ | -------------------------------------- | ----------------------- |
| `datadikeUsername` | Usuário autenticado no DataDike PAM    | `admin.user`            |
| `assetUsername`    | Usuário do sistema no asset de destino | `root`, `administrator` |
| `assetIP`          | Endereço IP do asset de destino        | `192.168.1.100`         |
| `datadikeHostIP`   | Endereço IP do servidor DataDike PAM   | `10.0.0.50`             |
| Porta              | Porta SSH                              | `2222`                  |

**Exemplo:**

```
ssh admin.user@root@192.168.1.100@10.0.0.50 -p2222
```

***

### 3. Procedimento de Conexão

Os passos abaixo são comuns aos dois métodos.

#### 3.1 Iniciar Conexão Remota

1. Abrir o Visual Studio Code
2. Localizar o botão **Open a Remote Window** no canto inferior esquerdo da interface (ícone `><`)
3. Selecionar a opção **Connect to Host...**

#### 3.2 Adicionar Novo Host SSH

1. Selecionar **Add New SSH Host...**
2. Inserir a string de conexão gerada pelo DataDike ou construída manualmente

#### 3.3 Salvar Configuração

O VSCode solicitará a seleção do arquivo de configuração SSH. A string precisa ser desmembrada nos campos do `~/.ssh/config` da seguinte forma:

**SSH Guide — Credencial permanente:**

String:

```
ssh usuario#conta#14bbb1fa-91f8-4c94-84ec-b60060eb6c8a@10.0.30.150 -p 2222
```

No `~/.ssh/config`:

```
Host datadike-meuasset          # apelido livre para identificar a conexão
  HostName 10.0.30.150          # IP após o @
  User usuario#conta#14bbb1fa-91f8-4c94-84ec-b60060eb6c8a  # tudo antes do @
  Port 2222                     # porta do -p
```

**SSH Guide — Token temporário (uso pontual):**

String:

```
ssh 0dedc00f-53c0-46bc-a1cc-69efe1a5aa05@10.0.30.150 -p 2222
```

No `~/.ssh/config`:

```
Host datadike-token             # apelido livre para identificar a conexão
  HostName 10.0.30.150          # IP após o @
  User 0dedc00f-53c0-46bc-a1cc-69efe1a5aa05  # tudo antes do @
  Port 2222                     # porta do -p
```

**Método Manual:**

String:

```
ssh admin.user@root@192.168.1.100@10.0.0.50 -p2222
```

No `~/.ssh/config`:

```
Host datadike-meuasset          # apelido livre para identificar a conexão
  HostName 10.0.0.50            # IP após o último @
  User admin.user@root@192.168.1.100  # tudo antes do último @
  Port 2222                     # porta do -p
```

> 💡 A regra de conversão é sempre a mesma: o que vem antes do último `@` vai no campo `User`, o IP após o último `@` vai no `HostName`, e o número após `-p` vai no `Port`.

#### 3.4 Estabelecer Conexão

1. Retornar ao menu **Connect to Host...**
2. Selecionar o host configurado na lista
3. Aguardar a inicialização da conexão

***

### 4. Autenticação

Ao conectar, o VSCode solicitará as credenciais em sequência.

**SSH Guide — Credencial permanente (sem MFA):**

1. **Password** — senha da conta DataDike

**SSH Guide — Credencial permanente (com MFA ativado):**

1. **Password** — senha da conta DataDike
2. **OTP Code** — código de 6 dígitos do aplicativo autenticador TOTP

> ℹ️ O MFA é solicitado apenas se estiver habilitado na conta DataDike do usuário. Após a autenticação, o VSCode instala automaticamente o servidor remoto no asset e estabelece a conexão.

**SSH Guide — Token temporário:**

1. **Password** — senha temporária gerada pelo DataDike junto ao token

**Método Manual (sem MFA):**

1. **Password** — senha da conta DataDike

**Método Manual (com MFA ativado):**

1. **Password** — senha da conta DataDike
2. **OTP Code** — código de 6 dígitos do aplicativo autenticador TOTP

***

### 5. Verificação da Conexão

Após o estabelecimento da conexão, verificar:

* **Indicador de Status** — confirmar o indicador de conexão remota no canto inferior esquerdo do VSCode
* **Acesso ao Sistema** — confirmar acesso ao sistema de arquivos do asset através do explorador de arquivos
* **Terminal Integrado** — testar o terminal integrado para validar a conectividade completa

***

### 6. Problemas Comuns

<details>

<summary>Falha na Conexão SSH</summary>

**Sintomas**: Timeout ou recusa de conexão

**Soluções**:

* Verificar conectividade de rede entre cliente e servidor DataDike
* Confirmar disponibilidade da porta 2222 no servidor
* Validar configurações de firewall

</details>

<details>

<summary>Falha de Autenticação</summary>

**Sintomas**: Credenciais rejeitadas

**Soluções**:

* Verificar credenciais do usuário no DataDike PAM
* Confirmar registro correto do asset no sistema
* Validar permissões do usuário no asset de destino

</details>

<details>

<summary>String de Conexão Inválida</summary>

**Sintomas**: Erro de formato na string de conexão

**Soluções**:

* Verificar a sintaxe da string de conexão
* Confirmar todos os parâmetros obrigatórios
* Validar endereços IP e nomes de usuário

</details>
