GNU/Linux >> Tutoriels Linux >  >> Linux

Un gars Windows dans un monde Linux :VS Code et SSH distant

Bienvenue dans le dernier épisode de la série d'articles de blog A Windows Guy in a Linux World où vous apprendrez à connecter VS Code et un hôte SSH distant. Si vous avez suivi la série, vous devriez déjà disposer de tous les outils et connaissances nécessaires pour commencer à gérer à distance vos machines Linux (y compris l'édition de fichiers).

Pas un lecteur? Regardez ce didacticiel vidéo associé ! Vous ne voyez pas la vidéo ? Assurez-vous que votre bloqueur de publicités est désactivé.

Consultez les articles précédents de cette série :

  • Autorisations utilisateur et fichier
  • YaST et le bureau
  • Commandant de minuit

Les outils couverts précédemment sont utiles mais ils ne ressemblent pas à Windows. Les outils Linux peuvent sembler étrangers et difficiles à utiliser par rapport à une expérience Windows native. Dans ce dernier article d'une série en cinq parties, vous apprendrez à modifier des fichiers de manière native sur votre machine Windows à l'aide de Visual Studio (VS) Code pour une expérience plus moderne.

Prérequis

Pour suivre les exemples fournis dans cet article, assurez-vous d'avoir les éléments suivants :

  • Code Visual Studio pour Windows. Ce guide utilisera la version 1.5.1.1
  • Windows 10 (SSH est nécessaire et est préinstallé)
  • Un hôte OpenSUSE avec SSH activé et Midnight Commander installé

Le besoin d'un excellent environnement d'édition

Linux n'a pas de registre central. Contrairement à Windows, pratiquement tout à propos de Linux tourne autour des fichiers de configuration. Chaque modification que vous apportez à une interface graphique, chaque case que vous cochez dans une interface Web, chaque modification de configuration que vous apportez, il y a un fichier quelque part qui reflète ce paramètre.

Parce que les fichiers de configuration sont si importants sous Linux, vous avez besoin d'un excellent éditeur de texte. Linux en a quelques bons, dont l'éditeur de texte Midnight Commander (connu sous le nom de mcedit ) couvert plus tôt.

Cependant, cette série est destinée à travailler sur Linux du point de vue d'un utilisateur Windows. Windows a (sans doute) le meilleur éditeur de texte sur le marché. Mieux encore :il est entièrement compatible avec le protocole Linux Remoting (SSH).

Code Visual Studio – l'éditeur de texte préféré de Microsoft

Microsoft propose un éditeur de texte incroyablement puissant :Visual Studio Code. VS Code a repris à peu près tous les autres éditeurs de texte de l'écosystème Microsoft pour devenir le principal moyen de modifier des fichiers sous Windows. Vous connaissez peut-être déjà Visual Studio Code :il est fréquemment abordé sur ce site.

Visual Studio Code est techniquement un environnement de développement intégré (IDE) ainsi qu'un éditeur sensible à la syntaxe. Cela signifie que vous pouvez exécuter des commandes shell directement dans l'éditeur et l'utiliser pour déboguer vos scripts.

Non seulement vous pouvez utiliser VS Code pour travailler avec des fichiers localement, mais VS Code prend également en charge l'édition de fichiers à distance via SSH. L'édition de fichiers à distance signifie qu'au lieu de naviguer dans la ligne de commande via une invite SSH, vous pouvez directement ouvrir, explorer et modifier des fichiers sans quitter VS Code !

Installation et connexion du code VS et de l'extension SSH distante

VS Code n'est pas livré avec le support SSH prêt à l'emploi, mais en utilisant la puissance du marché des extensions, vous pouvez ajouter cette fonctionnalité. Pour ce faire, vous devez installer l'extension SSH distante.

  1. Dans VS Code, vous devriez voir une barre latérale sur la gauche qui ressemble à un bloc. Cliquez sur cette icône pour afficher la zone de recherche Extension Marketplace.

2. Tapez ssh pour rechercher le Distant – SSH rallonge comme indiqué ci-dessous. L'extension officielle de Microsoft devrait être le meilleur résultat.

3. Cliquez sur le bouton vert Installer bouton à côté de Distant – SSH extension pour commencer à l'installer.

Une fois installé, vous devriez immédiatement voir une nouvelle icône dans la barre latérale appelée Remote Explorer comme indiqué ci-dessous.

À ce stade, vous êtes maintenant prêt à commencer à ajouter votre session SSH.

Connexion à un serveur cible avec SSH dans VS Code

Voyons maintenant comment vous pouvez vous connecter à votre machine Linux distante via SSH et modifier certains fichiers avec VS Code !

  1. Cliquez sur Remote Explorer l'icône que vous venez d'installer pour ouvrir le panneau de l'explorateur distant.

2. Cliquez sur le + symbole dans les Cibles SSH boîte pour ajouter un nouveau serveur SSH auquel se connecter comme indiqué ci-dessous.

3. Saisissez ssh @ip à l'invite sur votre machine Linux cible, comme décrit dans les prérequis. Pour l'exemple ci-dessous, l'utilisateur est homelab et l'ip est 172.25.179.190 .

4. Vous devriez maintenant voir une invite vierge apparaître ci-dessous demandant où enregistrer les données de configuration. Il s'agit du fichier décrivant toutes les connexions enregistrées, dans le cas où nous aurons plusieurs appareils Linux auxquels nous nous connecterons. Pour cet exemple, vous pouvez laisser la case vide pour enregistrer à l'emplacement par défaut. Appuyez sur Entrée pour enregistrer l'emplacement par défaut (C:\users\\.ssh\config ).

5. Enfin, faites un clic droit sur la cible SSH nouvellement créée et cliquez sur Se connecter à l'hôte dans la fenêtre actuelle. Cette action se connectera à la cible via SSH et configurera VS Code pour qu'il fonctionne à distance.

Si tout s'est bien passé, vous devriez maintenant pouvoir commencer à configurer SSH immédiatement dans la section suivante.

Si vous êtes bloqué à ce stade, assurez-vous que vous pouvez réellement vous connecter en SSH à votre ordinateur cible. Le moyen le plus simple de tester est d'ouvrir une fenêtre de commande (sur Windows 10) et de tester avec ssh @ . Si cela ne fonctionne pas pour vous, VSCode ne pourra pas non plus se connecter.

Configurer SSH lors de votre première connexion

Une fois que vous vous êtes connecté au serveur SSH distant pour la première fois, vous devrez effectuer une configuration initiale. Comme vous pouvez le voir ci-dessous, VS Code vous demandera le type de connexion que vous établissez (Linux) et vous demandera un mot de passe. Après un court délai, vous devriez voir le coin inférieur gauche devenir vert et dire SSH :.

Vous êtes maintenant configuré et prêt à commencer à travailler avec le système de fichiers distant !

Ouvrir un dossier et des fichiers distants

Une fois que vous vous êtes connecté pour la première fois, vous pouvez alors commencer à ouvrir des fichiers sur le serveur Linux distant via SSH. Pour ce faire :

  1. Cliquez sur la barre latérale en haut à gauche appelée Explorateur volet.

2. Cliquez sur le bleu Ouvrir le dossier bouton pour ouvrir un dossier distant.

3. Ensuite, choisissez un dossier à ouvrir. Dans l'exemple ci-dessous, nous faisons référence au dossier /home/.

Vous pouvez être invité à saisir à nouveau votre mot de passe lors de la sélection du dossier.

Une fois que vous avez ouvert un dossier, vous devriez obtenir une représentation visuelle du contenu du dossier distant dans le panneau Explorateur de fichiers illustré ci-dessous.

Le dossier de base dans le panneau Explorateur de fichiers est appelé votre espace de travail . L'espace de travail est le dossier que vous avez ouvert à l'étape précédente. Vous pouvez voir ci-dessous que le panneau Explorateur de fichiers affiche maintenant le contenu du dossier que vous avez ouvert à la dernière étape.

Vous pouvez maintenant ouvrir n'importe quel fichier (comme le .bashrc fichier dans la capture d'écran) et VS Code l'affichera automatiquement dans le panneau principal, avec la coloration syntaxique !

Vous pouvez techniquement ouvrir le dossier racine (/ ) comme espace de travail, et ont donc accès à l'ensemble du système de fichiers (en savoir plus sur le système de fichiers dans la deuxième partie de cette série). Cependant, VS Code aura des problèmes pour surveiller automatiquement les modifications si l'espace de travail cible est trop grand. VSCode lancera un avertissement et vous devrez peut-être actualiser manuellement pour voir les modifications du système de fichiers.

Choisir un dossier de travail différent

Que se passe-t-il si vous ouvrez un dossier et que les fichiers avec lesquels vous devez travailler se trouvent dans un dossier différent ? Dans ce cas, vous pouvez ouvrir un autre dossier "de base" ou même ajouter des dossiers à votre espace de travail.

Si vous souhaitez ouvrir un dossier complètement séparé (en fermant le dernier), vous pouvez le faire en accédant au Fichier menu, en cliquant sur Ouvrir le dossier, et choisissez votre nouveau dossier. Cette action fermera VS Code et ouvrira un nouvel espace de travail.

Si vous souhaitez garder l'autre dossier ouvert et ajouter un autre dossier à votre espace de travail, accédez au Fichier à nouveau et cette fois, cliquez sur Ajouter un dossier à l'espace de travail . De là, vous pouvez ajouter de nouveaux dossiers à l'espace de travail existant.

Vous pouvez en voir une explication dans la capture d'écran ci-dessous.

Maintenant que vous avez appris à vous connecter à une cible et à ouvrir la fenêtre de l'explorateur dans un dossier, regardons ce que vous pouvez réellement faire avec l'explorateur de fichiers.

Transférer des fichiers entre votre hôte et votre cible

VS Code est incroyablement puissant et le volet de l'explorateur est utile pour plus que la simple navigation et l'édition de fichiers distants. Vous pouvez également l'utiliser pour envoyer et télécharger des fichiers directement sur votre serveur !

Charger et télécharger des fichiers est aussi simple qu'un glisser-déposer. Par exemple, pour télécharger un fichier local sur le serveur distant :

  1. Naviguez jusqu'au dossier local contenant le ou les fichiers que vous souhaitez télécharger sur le serveur distant.
  2. Faites glisser le ou les fichiers de la fenêtre de l'explorateur Windows local vers l'explorateur de fichiers dans VS Code.

Terminé !

Pour télécharger un fichier :

  1. Accédez au(x) fichier(s) que vous souhaitez télécharger depuis le serveur distant.
  2. Sélectionnez le(s) fichier(s), faites un clic droit dessus et choisissez Télécharger .
  3. Choisissez un endroit où les enregistrer et voilà, vous avez téléchargé le(s) fichier(s).

Vous pouvez voir ces étapes en action ci-dessous.

Vous pouvez également couper, copier, glisser-déposer, créer de nouveaux fichiers/dossiers et faire la plupart de ce que vous attendez d'une fenêtre d'exploration. Tout se passe à distance sur le serveur.

VS Code a encore une astuce SSH dans sa manche; vous pouvez également utiliser VS Code comme terminal SSH standard !

Lorsque vous êtes connecté à une cible SSH, cliquez sur Afficher menu et choisissez Termina l comme indiqué ci-dessous. VS Code ouvrira une session SSH distante.

Vous pouvez faire tout ce que vous pouvez faire dans le terminal en utilisant SSH directement. Cela inclut même l'utilisation de Midnight Commander, avec prise en charge de la souris ! Vous pouvez voir le lancement de Midnight Commander ci-dessous.

VS Code utilise le client Windows SSH natif sous le capot (7.7p1 à partir de Windows 10 v2009). Pour obtenir la prise en charge de la souris, vous aurez besoin du client Microsoft SSH (8.1p1 au moment de la rédaction de cet article). Vous pouvez en savoir plus à ce sujet dans la partie IV de cette série .

Modification des configurations protégées et modification des fichiers protégés

Il y a un inconvénient à utiliser VS Code par rapport à la ligne de commande :il ne modifiera pas les fichiers qui nécessitent des droits administratifs pour être modifiés. Ce sont des fichiers que vous devez ouvrir avec sudo éditer. Vous pouvez contourner ce problème de deux manières :

sudo est le moyen d'élever les commandes sous Linux. C'est l'équivalent de l'UAC sous Windows. Plutôt que d'ouvrir une invite de commande élevée, vous exécutez des commandes avec sudo devant.

Tout comme une fenêtre SSH normale, vous pouvez également exécuter sudo commandes dans le terminal VS Code. VS Code, cependant, ne peut pas enregistrer les fichiers nécessitant des droits d'administration pour être modifiés. Mais vous pouvez utiliser un outil appelé Midnight Commander (avec sudo pour créer une fenêtre d'explorateur à l'intérieur la ligne de commande VSCode avec les droits d'administration.

Dans le terminal VS Code de la session SSH distante, exécutez sudo mc pour ouvrir l'outil de gestion de fichiers Midnight Commander. Une fois ici, accédez aux fichiers protégés que vous souhaitez modifier et modifiez-les comme vous le souhaitez. Vous ne devriez avoir aucun problème à le faire.

Les actions sont indiquées ci-dessous.

L'inconvénient d'utiliser sudo mc pour les changements administratifs est assez important :vous êtes entièrement limité à l'utilisation du terminal VS Code. Cela signifie que la plupart des fonctionnalités graphiques de VS Code, telles que le volet de l'explorateur et même la fenêtre d'édition principale, ne peuvent pas être utilisées. Vous êtes entièrement limité à la fenêtre du terminal pour la navigation.

L'utilisation de la solution de contournement de Midnight Commander dans VS Code fonctionnera, mais vous ne devriez pas modifier les fichiers protégés qui souvent. Utilisation de sudo mc ne devrait être nécessaire que pour apporter une petite modification ou effectuer une configuration unique.

Si vous travaillez régulièrement sur des fichiers, vous devez être inclus dans la propriété ou le groupe de ce dossier. Cela annule la nécessité d'exiger des droits d'administration.

Article connexe :Configuration d'une connexion d'échange de clés SSH avec VS Code et SSH

Conclusion

Merci à tous ceux qui ont suivi cette série en cinq parties. Avec la configuration de VS Code, vous devriez maintenant être prêt à continuer votre voyage dans le monde Linux.

Avec les concepts en place, vous disposez maintenant d'une base solide pour commencer à vous diversifier dans les parties les plus pratiques de Linux :exécuter des serveurs, apprendre docker et configurer votre propre infrastructure. Restez à l'écoute et attendez-vous à ce que de nombreux autres projets liés à Linux apparaissent ici à l'avenir !


Linux
  1. Interopérabilité Windows et Linux :un regard sur Samba

  2. Comment monter un partage Windows à distance sur Linux

  3. Afficher le numéro de service DELL et le code de service express sous Linux et Windows

  4. 11 commandes "ssh" et "scp" utiles sous Linux

  5. comment tunneliser Windows Remote Desktop via ssh à l'aide d'une machine Linux?

Un gars Windows dans un monde Linux :utilisateurs et autorisations de fichiers

Un gars Windows dans un monde Linux :YaST et le bureau

Accès à distance à Windows 10 via Ubuntu Linux et Vise Versa

Comment utiliser SSH pour se connecter à un serveur distant sous Linux ou Windows

Comment monter un dossier Linux distant dans Windows via SSH ?

Bureau à distance Windows vers Linux