GNU/Linux >> Tutoriels Linux >  >> Linux

Comment ajouter une clé SSH au code VS et se connecter à un hôte

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.

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é.

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.

  1. Ouvrez PowerShell sur votre ordinateur local et exécutez ssh-keygen . Le chemin par défaut pour vos clés est C:\users\\.ssh.
  2. Fournissez le chemin du dossier pour enregistrer la clé privée et publique. La valeur par défaut est C:\Users\\.ssh\id_rsa .
  3. 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\\.ssh dossier.

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

  1. 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.
  2. Créer le .ssh dossier dans votre répertoire personnel et téléchargez le id_rsa.pub fichier.
  3. 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 requiert sudo 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

  1. 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//id_rsa.pub téléchargé sur votre hôte Linux, si vous le souhaitez.

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\\.ssh\id_rsa ), et l'a utilisé automatiquement pour s'authentifier.

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.

  1. 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 de 172.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 et ouvertes simultanément en deux sessions distinctes. Ne confondez pas qui est quoi !


Linux
  1. Comment configurer des clés SSH

  2. Comment se connecter au serveur ssh avec plink et cmd et clé publique

  3. Comment autoriser SFTP et interdire SSH ?

  4. Comment configurer des clés SSH sur Ubuntu 18.04

  5. Comment réparer la clé offensante dans le fichier ~/.ssh/known_hosts

Comment ajouter une clé SSH pour l'accès cPanel SSH

Comment générer et utiliser une clé SSH avec PuTTY

Comment me connecter à Linux VPS via SSH depuis Linux et Windows OS ?

Comment ajouter ma clé SSH à Github/Bitbucket ?

Comment générer et utiliser la clé SSH dans le système Linux ?

Comment désactiver la vérification de la clé d'hôte SSH sous Linux