# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.datadike.com/product-guide/configuracoes/pam/cockpit/dispositivos/integracao-vscode-com-datadike-via-ssh.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
