Aller au contenu

VSCODE remote SSH Tunnel

L'extension Visual Studio Code Remote - Tunnels vous permet de vous connecter à une machine distante, comme un PC de bureau ou une machine virtuelle (VM), via un tunnel sécurisé. Vous pouvez vous connecter à cette machine à partir d'un client VS Code n'importe où, sans avoir besoin de SSH.

Le tunnelage transmet en toute sécurité les données d'un réseau à un autre via les tunnels Microsoft dev.

Il n'est donc pas nécessaire que le code source se trouve sur votre machine VS Code, puisque l'extension exécute des commandes et d'autres extensions directement sur la machine distante.

architecture

Prérequis

  • 1 VM Linux (Red Hat, Debian)
  • La VM possède une carte réseau NAT
  • Depuis votre machine hôte, vous pingez + SSH la VM Linux (faire ip a)
  • Interface GUI (non obligatoire)

topologie

SSH

Générer un couple de clé publique et privé de format OpenSSL. tuto

Il faudra ajouter (sur la VM Linux) la clé publique SSH dans ~/.ssh/authorized_keys.

Vérifiez que vous pouvez vous connecter à l'hôte SSH en exécutant la commande suivante à partir d'un terminal ou d'une fenêtre PowerShell, en remplaçant user@hostname par ce qui convient.

Tuto

VSCODE

Il faut installer l'extension suivante :

Dans VS Code, sélectionnez Remote-SSH : Connect to Host... dans la palette de commandes (F1, Ctrl+Shift+P) et utilisez le même nom d'utilisateur@hôte qu'à l'étape 1.

VSCODE EDITER LE FICHIER DE CONFIGURATION DES HOTES

Ajouter le template suivant:

Host nom-tunnel
    Hostname <IP VM Linux>
    Port 22
    User toto
    IdentityFile /CHEMIN/COMPLET/VERS/CLE/PRIVE/id_rsa

Resultat :

Connexion

Lorsque vous initiliser le Tunnel SSH. Il installe code-server. Votre instance de VSCode édite les fichiers sur la VM Linux. L'ouverture du terminal est dans la machine Linux.

Sources

Remote SSH

Remote Tunnel

Article

SSH KEY - Windows