Visual Studio Code Tuto Remote SSH
  • 28 avril 2025
  • ComputaSYS
  • 0


I. Présentation

Comment exécuter du code à distance sur une machine avec Visual Studio Code ? Voici la question à laquelle nous allons répondre dans ce tutoriel ! Pour atteindre cet objectif, nous allons utiliser l’extension “Remote – SSH” développée par Microsoft.

Visual Studio Code est un formidable outil pour écrire des scripts, que ce soit en PowerShell, en Python ou d’autres langages. Dans la majorité des cas, il est installé sur le poste de travail de l’administrateur système, du développeur, etc… et l’exécution du code s’effectue en local. Ce n’est pas toujours pratique, car il peut s’avérer utile (et judicieux) d’exécuter le code directement depuis un serveur. Par exemple, pour éviter les problèmes de compatibilité, l’environnement local n’étant pas forcément le même que l’environnement sur le serveur de production.

Dans ce cas, Visual Studio Code offre la possibilité d’ouvrir une connexion distante sécurisée via SSH, aussi bien vers Linux, Windows que macOS. Ainsi, vous pouvez coder depuis votre poste de travail, en local, tout en exécutant le script sur le serveur distant : pratique, n’est-ce pas ? Nous allons voir comment faire dès maintenant ! Vous pouvez appliquer cette méthode que ce soit pour travailler sur un nouveau projet, faire évoluer un script existant ou pour une session de débogage.

Je vous rappelle qu’il y a d’autres articles au sujet de Visual Studio Code disponible sur IT-Connect. Parmi lesquels :

II. Le développement à distance avec Visual Studio Code

Pour développer à distance avec Visual Studio Code, la mise en place d’un tunnel SSH est nécessaire entre le client et le serveur. Outre ce tunnel SSH, pour que la magie opère, le serveur distant doit disposer du composant VS Code Server. Ce dernier sera installé automatiquement lors de la première connexion.

Source : visualstudio.com

Parmi les fonctionnalités notables de cet accès distant SSH, nous pouvons noter :

L’exécution de code sur la machine distante, via le tunnel SSH.

L’accès à l’espace de stockage de la machine distante, y compris pour lire ou éditer un fichier existant ou créer un nouveau fichier.

La disponibilité des fonctionnalités clés de Visual Studio Code, comme IntelliSense et GitHub Copilot (dont les suggestions de code).

La prise en charge de plusieurs profils / hôtes différents (cibles SSH), que vous pouvez enregistrer dans un fichier de configuration.

L’utilisation du tunneling SSH pour effectuer de la redirection de port : mapper un port de la distante sur la machine locale pour tester l’accès à un service ou une application.

Avant de commencer, veillez à activer le serveur SSH (OpenSSH) sur la machine distante sur laquelle vous souhaitez vous connecter via Visual Studio Code.

Note : au-delà de l’extension “Remote – SSH” de VSCode, il y a d’autres extensions qui s’inscrivent dans cette logique, dont une pour WSL.

III. Installer l’extension SSH pour VSCode

La première étape consiste à installer l’extension “Remote – SSH” à partir de la marketplace de Visual Studio Code. Il suffit de cliquer sur le bouton situé sur la gauche (Extensions) puis de rechercher “SSH”. Cliquez ensuite sur le bouton “Install”. À l’heure où ces lignes sont écrites, l’extension comptabilise plus de 26 millions de téléchargements, ce qui montre sa popularité.

Quand c’est fait, passez à la suite. Il est à noter qu’une installation en ligne de commande est également envisageable.

code –install-extension ms-vscode-remote.remote-ssh

IV. Ajouter un hôte distant SSH à VSCode

Pour vous connecter à distance à un serveur, cliquez sur l’icône bleu représentant une connexion, située en bas à gauche de l’écran. Puis, choisissez l’option “Connect to Host…”.

Vous avez alors deux choix possibles :

Add New SSH Host : pour ajouter un nouvel hôte au fichier de configuration, via la barre de commande de VSCode

Configure SSH Hosts : pour ajouter un nouvel hôte manuellement en éditant le fichier de configuration.

Choisissez la seconde option.

Vous devez ensuite sélectionner un fichier de configuration à actualiser. Soit le fichier de votre profil utilisateur, soit le fichier global au niveau du système. Ici, nous prenons le fichier de l’utilisateur actuel.

Puis, dans ce fichier, nous allons ajouter un nouvel hôte. Voici à quoi correspondent les options de base attendues :

Host : nom d’affichage du serveur, tel qu’il sera visible dans la liste de VSCode

HostName : adresse IP ou nom complet pour la connexion à l’hôte

User : nom de l’utilisateur avec lequel vous souhaitez vous connecter

Il est à noter que la directive IdentityFile peut être utilisée à la place de User pour effectuer une authentification par clé (vous devez préciser le chemin vers la clé).

Host srv-adds-01
HostName 192.168.1.62
User adm_fb.t0

Enregistrez le fichier quand votre hôte est ajouté. Vous pouvez ajouter plusieurs hôtes les uns à la suite des autres sur le même principe.

V. Se connecter à un serveur distant

Désormais, quand vous lancez une connexion avec un hôte à partir de VSCode, l’hôte connu que vous venez de configurer, est proposé. Cliquez dessus.

La première fois, il faut sélectionner la plateforme de l’hôte distant : Linux, Windows ou macOS.

Il convient ensuite d’accepter la connexion puis de saisir le mot de passe. Ici, nous effectuons une authentification par identifiant et mot de passe. Si le mot de pass est bon, la connexion sera établie.

Vous verrez passer ensuite l’étape “Downloading VS Code Server”, ce qui fait écho à mes propos précédents. Patientez un instant.

Ensuite, vous arrivez sur un espace de travail dédié où vous pouvez utiliser VS Code et commencer à travailler. Vous pouvez créer un nouveau fichier ou ouvrir un fichier existant en explorant l’espace de stockage du serveur distant.

VI. Les extensions sur le serveur distant

Il est à noter que le serveur distant doit disposer des extensions VS Code pour que l’installation soit pleinement opérationnelle. Par exemple, si vous souhaitez exécuter du code PowerShell, vous devez installer l’extension PowerShell sur l’hôte distant. Sinon, vous ne pourrez pas lancer le code directement via VS Code.

Dans le cas de PowerShell, il convient de naviguer dans les extensions, de rechercher PowerShell et de cliquer sur le lien d’installation dont le nom est explicite : install in SSH: srv-adds-01.

À partir de là, vous serez en mesure d’exécuter du code PowerShell sur la machine distante, tout en travaillant depuis votre poste de travail. C’est indispensable pour bénéficier d’une expérience complète.

VII. Rediriger un port avec Remote SSH

Visual Studio Code, par l’intermédiaire de Remote SSH, offre l’opportunité de rediriger un port dans le tunnel SSH. Cela peut s’avérer utile pour rediriger un service web, en HTTP ou HTTPS, via le tunnel et ainsi tester l’accès.

Par exemple, en accédant à http://localhost:10443 sur votre ordinateur local, vous pourriez accéder au service exécuté sur le serveur distant sur le port 10443. Vous pouvez aussi utiliser un port local personnalisé.

Pour mettre en place cette configuration, cliquez simplement sur l’onglet “Ports” puis sur le bouton nommé “Forward a Port”.

Ensuite, ajoutez une nouvelle entrée. La colonne “Port” correspond au numéro de port sur lequel écoute le service sur l’hôte distant. La colonne “Forwarded Address” correspond à la destination, en l’occurrence votre machine locale sur le port de votre choix. Par défaut, VS Code reprend le même port.

VIII. Conclusion

L’extension “Remote – SSH” de Visual Studio Code est indispensable à partir du moment où nous avons besoin de modifier ou d’exécuter du code sur des serveurs distants.

C’est beaucoup plus pratique que de devoir télécharger un fichier en local, pour le pousser sur la machine distante afin de l’exécuter une fois la modification effectuée, et recommencer autant de fois que nécessaire… Cette intégration native et transparente apporte un réel confort que ce soit pour un script PowerShell, un projet Python ou un fichier Ansible.

Si besoin d’informations supplémentaires :

Ingénieur système et réseau, cofondateur d’IT-Connect et Microsoft MVP “Cloud and Datacenter Management”. Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *