Si vous devez ajouter une clé SSH à VS Code pour configurer une connexion SSH à l'aide de l'échange de clés, ce didacticiel est fait pour vous. Dans ce didacticiel, vous allez apprendre, étape par étape, comment configurer le code VS pour se connecter via SSH via l'échange de clés pour un utilisateur avec sudo
droits (homelab
dans ce guide) et le root
intégré utilisateur.
Prérequis
- Code Visual Studio pour Windows. Ce didacticiel utilisera la version 1.5.1.1.
- Windows 10 (SSH est nécessaire et est préinstallé)
- Un hôte SSH distant :ce didacticiel utilisera un hôte OpenSUSE avec SSH activé.
- Vous avez déjà configuré un hôte SSH dans VS Code (voir cet article).
Création de la clé SSH
Pour commencer, vous devez d'abord générer une clé SSH privée et publique sur votre machine Windows.
- Ouvrez PowerShell sur votre ordinateur local et exécutez ssh-keygen . Le chemin par défaut pour vos clés est C:\users\
\.ssh. - Fournissez le chemin du dossier pour enregistrer la clé privée et publique. La valeur par défaut est C:\Users\
\.ssh\id_rsa . - Fournissez une phrase secrète facultative. Si vous fournissez une phrase secrète, cette phrase secrète sera utilisée pour chiffrer la clé privée.
Une fois terminé, vous aurez maintenant deux fichiers (clés) dans le dossier dans lequel vous avez enregistré les clés appelé id_rsa.pub (clé publique) et id_rsa (Clé privée). Par défaut, ces clés seront dans le C:\Users\
Télécharger la clé publique sur l'hôte SSH et associer votre utilisateur SSH
Vous devrez ensuite transférer la clé publique (id_rsa.pub) à l'emplacement des clés autorisées de l'utilisateur SSH distant. En utilisant VSCode, vous pouvez utiliser son explorateur intégré pour télécharger la clé.
Connexe :Configuration d'une connexion d'échange de clés SSH avec VS Code et SSH
- Si vous avez déjà configuré un hôte SSH dans VS Code, ouvrez le dossier d'accueil de l'utilisateur. Dans ce cas, le tutoriel utilise le
homelab
utilisateur. - Créer le .ssh dossier dans votre répertoire personnel et téléchargez le id_rsa.pub fichier.
- Renommer le fichier en authorized_keys (minuscule). Vous pouvez voir cet exemple ci-dessous.
Vous avez maintenant associé avec succès votre clé publique à votre utilisateur SSH. Vous devriez pouvoir vous reconnecter sans avoir besoin d'un mot de passe.
Association de la clé publique à l'utilisateur root
Associer la même clé au root
user vous donne la possibilité de vous connecter en SSH en tant qu'utilisateur habituel ou en tant que root
intégré utilisateur.
Pour le root
utilisateur cela copiera ~/.ssh/authorized_keys à /root/.ssh/authorized_keys . Vous pouvez le faire en exécutant la commande ci-dessous :
sudo mkdir -p /root/.ssh && sudo cp ~/.ssh/authorized_keys /root/.ssh/authorized_keys
Associer votre clé au
root
l'utilisateur requiertsudo
droits administratifs. Vous pouvez en savoir plus sur sudo ici.
Vous devriez maintenant pouvoir vous connecter à l'utilisateur root via SSH sans avoir besoin d'un mot de passe sous Windows.
Ajout graphique de votre clé publique à l'utilisateur root à l'aide de YaST
Si vous êtes plutôt un apprenant visuel, vous pouvez effectuer la même tâche à l'aide de l'utilitaire de configuration YaST d'OpenSUSE. Cela sera fonctionnellement identique à la copie des authorized_keys fichier à l'utilisateur root, de manière plus conviviale.
YaST est un outil de configuration spécifique à la distribution OpenSUSE.
Article connexe :Un gars de Windows dans un monde Linux :YaST et le bureau
- Accédez au terminal VS Code et téléchargez votre id_rsa.pub fichier dans le répertoire personnel :
2. Exécutez sudo yast
dans le terminal VSCode.
3. Une fois dans YaST, accédez à Sécurité et utilisateurs —> Gestion des utilisateurs et des groupes à l'aide des touches fléchées. Appuyez sur Entrée pour accéder à la Gestion des utilisateurs et des groupes section. Cette étape vous amène à l'écran de gestion des utilisateurs de YaST.
4. Appuyez sur Alt+S dans YaST pour changer le filtre d'utilisateurs normaux en utilisateurs système.
5. Naviguez jusqu'à root
. Appuyez sur alt+i pour éditer, puis alt+s à nouveau pour passer à la section des clés. Vous pouvez le voir dans l'animation ci-dessous :
6. Appuyez sur alt+a et accédez à id_rsa.pub fichier que vous avez téléchargé précédemment et appuyez sur alt+o à OK . Vous devriez voir l'empreinte digitale ajoutée à l'utilisateur root.
7. Continuez à appuyer sur alt+o à OK hors des menus et enfin alt+q quitter. Vous pouvez le voir dans l'animation ci-dessous :
À ce stade, vous avez effectué avec succès un échange de clé pour root ! Maintenant, supprimez ce /home/
Authentification avec la clé
Enfin, vous devez tester la connexion à l'aide de la clé nouvellement créée. Pour ce faire :
Ouvrez une console PowerShell et essayez d'exécuter ssh
pour tester la connexion en tant qu'utilisateur et utilisateur root. Ce guide utilise le homelab
utilisateur en tant qu'utilisateur normal. Si tout se passe bien, vous devriez être immédiatement connecté à l'un ou l'autre compte. Vous pouvez le voir ci-dessous :
Vous pouvez maintenant vous connecter en SSH en tant que root et le terminal n'a même pas demandé de mot de passe. SSH pour Windows savait où chercher votre clé privée (C:\users\
Configuration du code VS pour utiliser l'un ou l'autre utilisateur
Que faire si vous avez besoin de vous connecter à votre hôte SSH distant en utilisant à la fois le root
compte utilisateur et un utilisateur administrateur standard ? Vous pouvez configurer ce scénario en utilisant deux configurations différentes dans VS Code.
- Dans VS Code, cliquez sur Remote Explorer dans la barre latérale et cliquez sur le rouage sous Cibles SSH comme indiqué ci-dessous.
2. VS Code demandera un fichier à choisir. Appuyez sur Entrée pour choisir le fichier par défaut que vous avez généré précédemment dans cet article. VS Code ouvrira un fichier de configuration à modifier comme indiqué ci-dessous.
3. Copiez les trois premières lignes de la configuration et collez-les ci-dessous en les séparant par une ligne vide.
4. Changez le deuxième utilisateur de homelab
dans la capture d'écran ci-dessous) à root
. Donnez-leur également des noms plus descriptifs (le Host
paramètre) afin que vous puissiez distinguer les deux configurations. Appuyez sur Ccontrôle+s pour enregistrer :
Le
Host
Le paramètre est sensible aux espaces et aux caractères spéciaux. Nommez votre hôte uniquement à l'aide de tirets et de lettres alphanumériques.Hostname
équivaut à un nom IP ou DNS. L'exemple ci-dessus utilise une adresse IP de172.25.179.190
Vous pouvez maintenant voir (dans la capture d'écran ci-dessous) que vous avez deux cibles SSH :test-machine , et test-machine-root .
5. Connectez-vous maintenant à l'un ou l'autre des hôtes en cliquant avec le bouton droit sur la cible SSH et en cliquant sur Se connecter à l'hôte dans la fenêtre actuelle comme indiqué ci-dessous.
Si vous vous connectez en tant que root, vous disposez de droits d'accès complets à votre ordinateur, y compris les fichiers protégés.
Si vous vous connectez à l'hôte dans une nouvelle fenêtre , VSCode lancera une instance distincte avec la nouvelle connexion. Cela vous permet d'avoir à la fois
root
etouvertes simultanément en deux sessions distinctes. Ne confondez pas qui est quoi !