GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So fügen Sie dem VS-Code einen SSH-Schlüssel hinzu und stellen eine Verbindung zu einem Host her

Wenn Sie VS Code einen SSH-Schlüssel hinzufügen müssen, um eine SSH-Verbindung mit Schlüsselaustausch einzurichten, ist dieses Tutorial genau das Richtige für Sie. In diesem Tutorial lernen Sie Schritt für Schritt, wie Sie VS-Code konfigurieren, um eine Verbindung über SSH per Schlüsselaustausch für einen Benutzer mit sudo herzustellen Rechte (homelab in dieser Anleitung) und das eingebaute root Benutzer.

Kein Leser? Sehen Sie sich dieses zugehörige Video-Tutorial an! Sie sehen das Video nicht? Stellen Sie sicher, dass Ihr Werbeblocker deaktiviert ist.

Voraussetzungen

  • Visual Studio Code für Windows. Dieses Tutorial verwendet Version 1.5.1.1.
  • Windows 10 (SSH wird benötigt und ist vorinstalliert)
  • Ein entfernter SSH-Host – Dieses Tutorial verwendet einen OpenSUSE-Host mit aktiviertem SSH.
  • Sie haben bereits einen SSH-Host in VS Code eingerichtet (siehe diesen Artikel).

SSH-Schlüssel erstellen

Zunächst müssen Sie auf Ihrem Windows-Rechner einen privaten und einen öffentlichen SSH-Schlüssel generieren.

  1. Öffnen Sie PowerShell auf Ihrem lokalen Computer und führen Sie ssh-keygen aus . Der Standardpfad für Ihre Schlüssel ist C:\users\\.ssh.
  2. Geben Sie den Ordnerpfad zum Speichern des privaten und öffentlichen Schlüssels an. Der Standardwert ist C:\Benutzer\\.ssh\id_rsa .
  3. Geben Sie eine optionale Passphrase an. Wenn Sie eine Passphrase angeben, wird diese Passphrase verwendet, um den privaten Schlüssel zu verschlüsseln.

Wenn Sie fertig sind, haben Sie jetzt zwei Dateien (Schlüssel) in dem Ordner namens id_rsa.pub, in dem Sie die Schlüssel gespeichert haben (öffentlicher Schlüssel) und id_rsa (Privat Schlüssel). Standardmäßig befinden sich diese Schlüssel in C:\Users\\.ssh Ordner.

Hochladen des öffentlichen Schlüssels auf den SSH-Host und Zuordnen Ihres SSH-Benutzers

Als nächstes müssen Sie den öffentlichen Schlüssel (id_rsa.pub) übertragen an den autorisierten Schlüsselspeicherort des Remote-SSH-Benutzers. Durch die Verwendung von VSCode können Sie den integrierten Explorer verwenden, um den Schlüssel hochzuladen.

Verwandt:Einrichten einer SSH-Schlüsselaustauschverbindung mit VS Code und SSH

  1. Wenn Sie bereits einen SSH-Host in VS Code eingerichtet haben, öffnen Sie den Home-Ordner des Benutzers. In diesem Fall verwendet das Tutorial den homelab Benutzer.
  2. Erstellen Sie die .ssh Ordner in Ihrem Home-Verzeichnis und laden Sie die id_rsa.pub hoch Datei.
  3. Benennen Sie die Datei in authorized_keys um (Kleinbuchstaben). Sie können dieses Beispiel unten sehen.

Sie haben Ihren öffentlichen Schlüssel jetzt erfolgreich mit Ihrem SSH-Benutzer verknüpft. Sie sollten in der Lage sein, die Verbindung wieder herzustellen, ohne ein Passwort zu benötigen.

Verknüpfung des öffentlichen Schlüssels mit dem Root-Benutzer

Zuordnen derselben Taste zu root user gibt Ihnen die Möglichkeit, sich entweder als Ihr normaler Benutzer oder als der integrierte root per SSH einzuloggen Benutzer.

Für root Benutzer kopiert ~/.ssh/authorized_keys nach /root/.ssh/authorized_keys . Sie können dies tun, indem Sie den folgenden Befehl ausführen:

sudo mkdir -p /root/.ssh && sudo cp ~/.ssh/authorized_keys /root/.ssh/authorized_keys

Verknüpfen Sie Ihren Schlüssel mit dem root Benutzer benötigt sudo administrative Rechte. Hier können Sie mehr über sudo lesen.

Sie sollten sich jetzt über SSH beim Root-Benutzer anmelden können, ohne ein Passwort in Windows zu benötigen.

Grafisches Hinzufügen Ihres öffentlichen Schlüssels zum Root-Benutzer mit YaST

Wenn Sie eher ein visueller Lerner sind, können Sie dieselbe Aufgabe mit dem YaST-Konfigurationsdienstprogramm von OpenSUSE ausführen. Dies entspricht funktional dem Kopieren der authorized_keys Datei auf freundlichere Weise an den Root-Benutzer weiterzuleiten.

YaST ist ein spezifisches Konfigurationstool für die OpenSUSE-Distribution.

Verwandter Beitrag:Ein Windows-Typ in einer Linux-Welt:YaST und der Desktop

  1. Navigieren Sie zum VS Code-Terminal und laden Sie Ihre id_rsa.pub hoch Datei in das Home-Verzeichnis:

2. Führen Sie sudo yast aus im VSCode-Terminal.

3. Navigieren Sie in YaST zu Sicherheit und Benutzer —> Benutzer- und Gruppenverwaltung mit den Pfeiltasten. Drücken Sie Eingabe um die Benutzer- und Gruppenverwaltung aufzurufen Sektion. Dieser Schritt bringt Sie zum Benutzerverwaltungsbildschirm von YaST.

4. Drücken Sie Alt+S in YaST, um den Filter von normalen Benutzern zu Systembenutzern zu ändern.

5. Navigieren Sie nach unten zu root . Drücken Sie alt+i zu bearbeiten und dann alt+s erneut, um zum Tastenbereich zu gelangen. Sie können das in der folgenden Animation sehen:

6. Drücken Sie alt+a und navigieren Sie zu id_rsa.pub Datei, die Sie zuvor hochgeladen haben, und drücken Sie alt+o auf OK . Sie sollten den Fingerabdruck sehen, der dem Root-Benutzer hinzugefügt wurde.

7. Drücken Sie weiterhin alt+o mit OK aus den Menüs und schließlich alt+q beenden. Sie können das in der folgenden Animation sehen:

Zu diesem Zeitpunkt haben Sie erfolgreich einen Schlüsselaustausch für root durchgeführt! Löschen Sie nun das hochgeladene /home//id_rsa.pub auf Ihrem Linux-Host, wenn Sie möchten.

Authentifizierung mit dem Schlüssel

Abschließend sollten Sie die Verbindung mit dem neu erstellten Schlüssel testen. Dazu:

Öffnen Sie eine PowerShell-Konsole und versuchen Sie, ssh @ auszuführen um die Anmeldung sowohl als Ihr Benutzer als auch als Root-Benutzer zu testen. Diese Anleitung verwendet den homelab Benutzer als normaler Benutzer. Wenn alles gut geht, sollten Sie sofort bei einem der Konten angemeldet sein. Sie können dies unten sehen:

Sie können sich jetzt als Root per SSH anmelden und das Terminal hat nicht einmal nach einem Passwort gefragt. SSH für Windows wusste, wo es nach Ihrem privaten Schlüssel suchen musste (C:\users\\.ssh\id_rsa ) und automatisch zur Authentifizierung verwendet.

Konfigurieren von VS Code für die Verwendung beider Benutzer

Was ist, wenn Sie eine Verbindung zu Ihrem Remote-SSH-Host herstellen müssen, indem Sie sowohl den root Benutzerkonto und ein Standard-Admin-Benutzer? Sie können dieses Szenario mit zwei verschiedenen Konfigurationen in VS Code einrichten.

  1. Klicken Sie in VS Code auf den Remote Explorer Symbol in der Seitenleiste und klicken Sie auf das Zahnrad unter SSH-Ziele Wie nachfolgend dargestellt.

2. VS Code fragt nach einer Datei zur Auswahl. Drücken Sie die EINGABETASTE, um die Standarddatei auszuwählen, die Sie zuvor in diesem Artikel generiert haben. VS Code öffnet eine Konfigurationsdatei, die wie unten gezeigt bearbeitet werden kann.

3. Kopieren Sie die ersten drei Zeilen der Config und fügen Sie diese mit einer Leerzeile getrennt unten ein.

4. Ändern Sie den zweiten Benutzer von (homelab im Screenshot unten) zu root . Geben Sie ihnen auch aussagekräftigere Namen (Die Host -Parameter), damit Sie die beiden Konfigurationen voneinander unterscheiden können. Drücken Sie Strg+s speichern:

Die Host Der Parameter reagiert empfindlich auf Leerzeichen und Sonderzeichen. Benennen Sie Ihren Host nur mit Bindestrichen und alphanumerischen Buchstaben. Hostname entspricht entweder dem IP- oder dem DNS-Namen. Das obige Beispiel verwendet eine IP von 172.25.179.190

Sie können jetzt (im Screenshot unten) sehen, dass Sie zwei SSH-Ziele haben:test-machine , und test-machine-root .

5. Stellen Sie nun eine Verbindung zu einem der beiden Hosts her, indem Sie mit der rechten Maustaste auf das SSH-Ziel klicken und auf Im aktuellen Fenster mit Host verbinden klicken Wie nachfolgend dargestellt.

Wenn Sie sich als Root anmelden, haben Sie volle Zugriffsrechte auf Ihren Computer – einschließlich geschützter Dateien.

Wenn Sie in neuem Fenster eine Verbindung zum Host herstellen , startet VSCode eine separate Instanz mit der neuen Verbindung. Dadurch haben Sie beide root und gleichzeitig in zwei getrennten Sitzungen öffnen. Nicht verwechseln, was was ist!


Linux
  1. So richten Sie SSH-Schlüssel ein

  2. So verbinden Sie sich mit plink und cmd und öffentlichem Schlüssel mit dem SSH-Server

  3. Wie lässt man SFTP zu und verbietet SSH?

  4. So richten Sie SSH-Schlüssel unter Ubuntu 18.04 ein

  5. So verbinden Sie einen Remote-Host mit dem ssh-Befehl

So fügen Sie einen SSH-Schlüssel für den cPanel-SSH-Zugriff hinzu

Generieren und Verwenden eines SSH-Schlüssels mit PuTTY

Wie verbinde ich mich mit Linux VPS über SSH von Linux und Windows OS?

Wie füge ich meinen SSH-Schlüssel zu Github/Bitbucket hinzu?

Wie generiert und verwendet man einen SSH-Schlüssel in einem Linux-System?

So deaktivieren Sie die Überprüfung des SSH-Hostschlüssels in Linux