[Environnement de configuration] VS Code sous Windows se connecte à distance à la machine virtuelle Ubuntu

Table des matières

Un, l'environnement

Deux étapes clés

Trois étapes détaillées

4. Connexion à distance sans secret

Cinq, lien de référence

Six, connaissances supplémentaires


Un , l'environnement

  • Windows 11 Édition Familiale Chinoise
  • Version du code VS : 1.80.2
  • VMware® Workstation 16 Pro (Version : 16.1.2 build-17966106)
  • ubuntu-22.04.2-desktop-amd64

Deux étapes clés _

  • Installer OpenSSH sous Windows
  • VS Code installe le plugin Remote-SSH

Trois étapes détaillées _

  1. Installez un serveur SSH sur Ubuntu. Ouvrez un terminal et exécutez les commandes suivantes dans l'ordre pour installer le serveur OpenSSH et démarrer le serveur SSH :
    1. mise à jour sudo apt
    2. sudo apt install openssh-server
    3. redémarrage du service sshd
  2. Ouvrez VS Code sous Windows et installez l'extension "Remote - SSH". Recherchez "Distant - SSH" dans la vue étendue de la barre latérale et installez-le.
  3. Ouvrez la palette de commandes dans VS Code. Vous pouvez ouvrir la palette de commandes en appuyant sur  (ou en cliquant sur le bouton " Ouvrir la fenêtre distanteCtrl+Shift+P " dans le coin inférieur gauche de VS Code ).
  4. Dans la palette de commandes, entrez « Remote-SSH : se connecter à l'hôte » et sélectionnez cette option.
  5. Sélectionnez « Configurer les hôtes SSH » dans le menu contextuel .
  6. Sélectionnez le fichier « ~/.ssh/config » ou créez un nouveau fichier de configuration ( plusieurs informations de serveur Linux peuvent être configurées dans ce fichier de configuration ).
  7. Dans le fichier de configuration, ajoutez ce qui suit, en remplaçant hostname par votre adresse IP ou nom d'hôte Ubuntu, et username par votre nom d'utilisateur sur Ubuntu :
  8. Revenez au panneau de commande, entrez à nouveau " Remote-SSH: Connect to Host " (ou cliquez sur le bouton " Open Remote Window " dans le coin inférieur gauche de VS Code ), et sélectionnez la connexion que vous venez de configurer.

  9. Entrez votre mot de passe utilisateur Ubuntu pour l'authentification, mais l'erreur suivante s'affiche ici, indiquant que le client OpenSSH n'est pas installé dans l'environnement Windows.

  10. Exécutez PowerShell en tant qu'administrateur pour installer OpenSSH à l'aide de PowerShell. Pour vous assurer qu'OpenSSH est disponible, exécutez la commande suivante :
    1. Get-WindowsCapability-Online | Where-Object Name -like 'OpenSSH*'
  11. Si vous n'avez pas de client SSH installé, ce qui précède affichera ce qui suit :
    1. Nom : OpenSSH.Client~~~~0.0.1.0
    2. Etat : NonPrésent
  12. Ensuite, exécutez la commande suivante pour installer le client OpenSSH
    1. Ajouter-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
  13. Démarrez et configurez le serveur OpenSSH pour commencer à utiliser, puis exécutez les commandes suivantes pour démarrer sshd
    1. Service de démarrage sshd
    2. Set-Service -Name sshd -StartupType 'Automatique'
    3. if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) { Write-Output "La règle de pare-feu 'OpenSSH-Server-In-TCP' n'existe pas, en le créant..." New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 } else { Write-Output "La règle de pare-feu 'OpenSSH-Server-In-TCP' a été créée et existe." }
  14. Cliquez ensuite sur " Remote Explorer " dans la colonne de gauche de l'interface VsCode , et dans la liste étendue "Remote Linux Connection Information", faites un clic droit sur l'un d'eux pour établir une connexion à distance, comme suit.
  15. Après une connexion réussie, VS Code ouvrira une nouvelle fenêtre affichant le système de fichiers sur Ubuntu (vous pouvez utiliser "Fichier" > "Ouvrir le dossier" pour parcourir et ouvrir les dossiers dans le répertoire d'accueil distant.).
  16. Ensuite, vous pouvez écrire, enregistrer et exécuter le code dans l'environnement Ubuntu dans VS Code.
  17. Si vous souhaitez mettre fin à la connexion SSH, vous pouvez utiliser Fichier> Fermer la connexion à distance pour revenir à l'exécution locale de VS Code.

4. Secret - connexion à distance gratuite

Pour implémenter une connexion à distance sans mot de passe aux systèmes Linux dans VSCode, vous pouvez utiliser des paires de clés SSH. Voici les étapes détaillées :

  1. Générer une paire de clés SSH : Tout d'abord, vous devez générer une paire de clés SSH sur un ordinateur local (tel que Windows). Ouvrez un terminal ou une fenêtre d'invite de commande (telle que PowerShell) et exécutez la commande suivante :
    1. ssh-keygen -t rsa
  2. Suivez les invites pour sélectionner l'emplacement d'enregistrement et le mot de passe du fichier clé et d'autres paramètres. Cela générera un fichier de clé privée ( id_rsa) et un fichier de clé publique ( id_rsa.pub).
  3. Ajoutez le fichier de clé publique au serveur Linux : chargez le fichier de clé publique dans  ~/.ssh/authorized_keys un fichier sur le serveur Linux distant. Copiez le fichier de clé publique sur le serveur (mon fichier de clé publique se trouve dans le répertoire local  C:/Users/86152/.ssh/id_rsa.pub) avec la commande suivante :
    1. scp C:/Users/86152/.ssh/id_rsa.pub username@server_ip:~/
  4. usernameRemplacez par le nom d'utilisateur sur le serveur Linux auquel vous souhaitez vous connecter et server_ipremplacez par l'adresse IP du serveur. Cette commande copiera le fichier de clé publique dans le répertoire personnel du serveur distant.
  5. Connectez-vous au serveur Linux en utilisant SSH : utilisez la commande suivante suivie du mot de passe de connexion pour vous authentifier :
    1. nom_utilisateur ssh@ip_serveur
  6. Ajoutez la clé publique au authorized_keysfichier : ajoutez le contenu du fichier de clé publique au ~/.ssh/authorized_keysfichier avec la commande suivante (assurez-vous que .sshle répertoire existe, créez-le s'il n'existe pas déjà) :
    1. chat ~/id_rsa.pub >> ~/.ssh/authorized_keys
  7. Définir les autorisations de fichier : utilisez la commande suivante pour résoudre les problèmes d'autorisation de fichier, cela garantira que .sshles répertoires ont des autorisations de 700 (le propriétaire a des autorisations de lecture, d'écriture et d'exécution) et authorized_keysles fichiers ont des autorisations de 600 (le propriétaire a des autorisations de lecture et d'écriture) :
    1. chmod 700 ~/.ssh
    2. chmod 600 ~/.ssh/authorized_keys
  8. Après avoir terminé les étapes ci-dessus, vous pouvez vous connecter au serveur Linux via VsCode sans entrer de mot de passe.

Cinq , lien de référence

1. Installez OpenSSH sur Windows

2. Développement à distance via SSH

3. Trucs et astuces de développement à distance

Six , connaissances supplémentaires

1.SSH (Secure Shell) est un protocole réseau pour la connexion à distance et le transfert sécurisé de fichiers. Il fournit un moyen de communication cryptée sécurisée entre un client et un serveur distant via une connexion réseau non sécurisée (par exemple, Internet). Voici une introduction à SSH :

  • Sécurité : SSH est un protocole de cryptage qui assure la sécurité des données transmises sur des connexions réseau non sécurisées. Il utilise le cryptage à clé publique et le cryptage à clé symétrique pour protéger la confidentialité des communications et empêcher l'écoute clandestine et la falsification des données.
  • Connexion à distance : l'utilisation la plus courante de SSH est la connexion à distance. À l'aide d'un client SSH, les utilisateurs peuvent se connecter à un serveur distant via Internet, exécuter des commandes et accéder aux ressources sur le serveur distant comme s'ils opéraient directement sur le serveur.
  • Transfert de fichiers : SSH fournit un mécanisme de transfert de fichiers sécurisé appelé SCP (Secure Copy) ou SFTP (SSH File Transfer Protocol). En utilisant SCP ou SFTP, les utilisateurs peuvent transférer en toute sécurité des fichiers entre un ordinateur local et un serveur distant.
  • Authentification de l'utilisateur : SSH utilise la cryptographie à clé publique pour l'authentification. Lors de l'établissement d'une connexion SSH, une clé publique est échangée entre le client et le serveur. Le client génère une paire de clés (clé publique et clé privée) et envoie la clé publique au serveur. Le serveur associe la clé publique à un utilisateur spécifique et l'utilise pour authentifier l'utilisateur.
  • Ports et configuration : SSH utilise le port TCP 22 par défaut pour la communication. Cependant, le port du serveur SSH peut être modifié si nécessaire. De plus, les fichiers de configuration du serveur SSH résident sur le serveur et peuvent être utilisés pour définir de nombreux comportements et restrictions différents.
  • Client et serveur : SSH se compose d'un client SSH et d'un serveur SSH. Le client est utilisé pour initier une connexion SSH et envoyer des commandes et des requêtes au serveur. Le serveur est chargé d'accepter les connexions des clients et de fournir les services requis (connexion, transfert de fichiers, etc.).
  • Réseaux publics : étant donné que SSH fournit une communication cryptée sécurisée, il est largement utilisé pour accéder à des serveurs distants sur des réseaux publics non fiables. Grâce à SSH, les utilisateurs peuvent utiliser en toute sécurité des serveurs distants sur Internet sans se soucier de la sécurité des données sensibles.

En bref, SSH est un protocole sécurisé de connexion à distance et de transfert de fichiers, qui fournit des mécanismes de communication et d'authentification cryptés, permettant aux utilisateurs d'accéder et d'exploiter en toute sécurité des systèmes distants sur des réseaux non sécurisés.


2. OpenSSH est une suite logicielle open source qui implémente des fonctions de connexion à distance et de transfert de fichiers sécurisé. Il s'agit d'une implémentation du protocole SSH et fournit un ensemble d'outils de ligne de commande et de démons pour un accès à distance sécurisé et un transfert de fichiers sur un réseau. Voici une introduction à OpenSSH :

  • Fonction : OpenSSH fournit des fonctions de connexion à distance sécurisées et de transfert de fichiers via des protocoles de communication cryptés. Il prend en charge diverses fonctions du protocole SSH, notamment le chiffrement, la clé publique et l'authentification, l'exécution de commandes à distance, le transfert de fichiers (via SCP et SFTP) et des fonctions telles que la redirection de port et le tunneling.
  • Sécurité : OpenSSH s'engage à fournir une communication et une transmission de données sécurisées. Il utilise une technologie de cryptage pour protéger le contenu des communications et garantir que les données ne peuvent pas être écoutées, falsifiées ou falsifiées pendant la transmission. Celles-ci incluent le chiffrement des communications à l'aide d'algorithmes à clé symétrique et de la cryptographie à clé publique, et la garantie de l'authentification des utilisateurs à l'aide de diverses méthodes d'authentification telles que les mots de passe, les clés publiques et les certificats.
  • Composants : OpenSSH se compose de plusieurs composants de base. Parmi eux, le client OpenSSH (ssh) est utilisé pour initier des connexions SSH et interagir avec des hôtes distants ; le serveur OpenSSH (sshd) s'exécute sur des hôtes distants et est responsable de l'acceptation des connexions SSH, de l'authentification des utilisateurs et de la connexion à distance et du transfert de fichiers. services ; Il existe d'autres outils auxiliaires comme ssh-keygen pour générer et gérer des paires de clés, et ssh-agent pour gérer l'authentification proxy avec des clés privées.
  • Prise en charge du système d'exploitation : OpenSSH peut fonctionner sur une variété de systèmes d'exploitation, y compris divers systèmes de type Unix (tels que Linux, BSD, etc.) et des versions de Microsoft Windows. OpenSSH peut être facilement installé et configuré sur ces systèmes pour une connexion à distance et un transfert de fichiers sécurisés.
  • Fichiers de configuration et personnalisation : OpenSSH fournit des options de configuration flexibles qui permettent aux utilisateurs de personnaliser selon leurs besoins spécifiques. En modifiant les fichiers de configuration OpenSSH (tels que sshd_config), vous pouvez définir des politiques de sécurité, des règles de contrôle d'accès, des paramètres de port, la configuration des utilisateurs, etc. Cela rend OpenSSH adaptable à différents environnements et besoins.
  • Support communautaire et Open Source : OpenSSH est un logiciel open source et son code source est accessible au public. Cela permet aux utilisateurs et aux développeurs de réviser, modifier et distribuer librement le code, et d'apporter des améliorations. OpenSSH bénéficie d'un solide support communautaire et d'une large base d'utilisateurs, de sorte qu'il peut être continuellement amélioré et mis à jour tout en maintenant la sécurité.

Dans l'ensemble, OpenSSH est une puissante suite logicielle open source qui fournit des fonctions sécurisées de connexion à distance et de transfert de fichiers, et assure la sécurité des données et des identités des utilisateurs grâce à son protocole de communication crypté. Il est largement utilisé dans divers scénarios d'application tels que la gestion de systèmes distants, la maintenance du système, la coopération à distance, la sauvegarde et le transfert de fichiers.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43729127/article/details/131877323
conseillé
Classement