Codificando Remotamente com SSH e VSCode
É comum precisarmos editar códigos que ficam hospedados em ambientes Linux devido à praticidade de ferramentas como Docker e builds mais rápidos, mas ao mesmo tempo preferirmos a interface mais amigável e aplicativos corporativos nativos do Windows. Porém, compartilhar arquivos entre esses sistemas via SMB ou NFS frequentemente traz problemas como diferenças de fim de linha (CRLF vs. LF) e permissões. Neste post, apresentarei uma solução eficiente utilizando a extensão de desenvolvimento remoto por SSH no VSCode, permitindo editar confortavelmente no Windows, enquanto builds, testes e commits permanecem no Linux.
Criando Chave SSH
Primeiro passo é a criação da chave SSH caso não tenha uma em seu Windows, porque é muito mais conveniente e seguro o uso da chave assimétrica do que de senha.
ssh-keygen

- Diretório onde deve ser criado a chave privada e pública do SSH.
- Senha para fazer uso da chave SSH.
- Confirmação da senha.
Recomendo usar o diretório padrão e não definir senha.
Copiando a Chave Pública SSH para o Linux
Para copiar a chave pública via Linux ou WSL é bem simples:
ssh-copy-id <user>@<hostname or ip>
# Exemplo: ssh-copy-id kali@10.0.2.15
Porém o comando ssh-copy-id não está disponível no Windows, mas existe um
solução de contorno:
type "<diretório_public_key>" | ^
ssh <user>@<host ou IP> "cat >> .ssh/authorized_keys && chmod 600 .ssh/authorized_keys"
Exemplo:
type "C:\Users\rapha\.ssh\id_ed25519.pub" | ^
ssh kali@192.168.0.118 "cat >> .ssh/authorized_keys && chmod 600 .ssh/authorized_keys"
Agora você será capaz de fazer o acesso SSH ao seu ambiente Linux sem a necessidade de informar a senha à todo momento.
Conectando o VSCode
Com o seu VSCode aberto va até a área de conexão remota, na parte inferior esquerda:
No menu que abrir, clique na opção Connect to Host...:

Clique em Add New SSH Host:
Digite o comando SSH que será utilizado para fazer a conexão:
Selecione onde deseja salvar a configuração desse host, eu costumo utilizar a primeira opção onde fica as minhas chaves SSH:
Após configurado, irá aparecer uma tela do lado inferior direito para se
conectar ou então você pode abrir novamente o Connect to Host... e o seu host
estará na lista:
Clicando no host para efetuar a conexão, na primeira vez irá perguntar qual o sistema operacional, no nosso caso é a opção Linux:
Após o VSCode efetuar a instalação do server no seu host remoto a conexão será estabelecida e aparecerá no canto inferior esquerdo:
Agora basta abrir qualquer projeto do seu host remoto e aproveitar:

Outro ponto que me agrada é que quando abrimos o terminal do VSCode com a conexão remota ativa, o terminal do Linux fica disponível diretamente.
