# Integração VSCode com F-Safer 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 F-Safer 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 F-Safer 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 %}

### 2. String de Conexão SSH

A string de conexão segue o formato específico do F-Safer PAM:

```bash
ssh [fsaferUsername]@[assetUsername]@[assetIP]@[fsaferHostIP] -p2222
```

#### 2.1 Parâmetros da String de Conexão

<table><thead><tr><th width="166.60003662109375">Parâmetro</th><th width="346">Descrição</th><th>Exemplo</th></tr></thead><tbody><tr><td>fsaferUsername</td><td>Usuário autenticado no F-Safer PAM</td><td><code>admin.user</code></td></tr><tr><td>assetUsername</td><td>Usuário do sistema no asset de destino</td><td><code>root</code>, <code>administrator</code></td></tr><tr><td>assetIP</td><td>Endereço IP do asset de destino</td><td><code>192.168.1.100</code></td></tr><tr><td>fsaferHostIP</td><td>Endereço IP do servidor F-Safer PAM</td><td><code>10.0.0.50</code></td></tr><tr><td>porta</td><td>Porta SSH </td><td>2222</td></tr></tbody></table>

#### 2.2 Exemplo Prático

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

### 3. Procedimento de Conexão

#### 3.1 Passo 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
3. Clicar no botão para abrir o menu de conexões remotas
4. Selecionar a opção **"Connect to Host..."**

#### 3.2 Passo 2: Adicionar Novo Host SSH

1. No menu apresentado, selecionar **"Add New SSH Host..."**
2. Será exibida uma caixa de diálogo para inserção da string de conexão

#### 3.3 Passo 3: Configurar String de Conexão

1. Inserir a string de conexão SSH no formato especificado

```bash
ssh [fsaferUsername]@[assetUsername]@[assetIP]@[fsaferHostIP] -p2222
```

#### 3.4 Passo 4: Salvar Configuração

1. O VSCode solicitará a seleção do arquivo de configuração SSH
2. Escolher o arquivo de configuração apropriado (geralmente o padrão do usuário)
3. O sistema criará automaticamente uma entrada no arquivo SSH config

#### 3.5 Passo 5: Estabelecer Conexão

1. Retornar ao menu **"Connect to Host..."**
2. Selecionar o host recém-configurado na lista
3. Aguardar a inicialização da conexão
4. Quando solicitado, fornecer as credenciais do F-Safer PAM
5. Aguardar o estabelecimento completo da sessão remota

#### 4.6 Verificação da Conexão

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

* **Indicador de Status**: Verificar 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 a funcionalidade do terminal integrado para validar a conectividade completa

#### 5 Problemas Comuns

<details>

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

**Sintomas**: Timeout ou recusa de conexão&#x20;

**Soluções**:

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

</details>

<details>

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

**Sintomas**: Credenciais rejeitadas&#x20;

**Soluções**:

* Verificar credenciais do usuário no F-Safer 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&#x20;

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