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.
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.
- Ö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. - Geben Sie den Ordnerpfad zum Speichern des privaten und öffentlichen Schlüssels an. Der Standardwert ist C:\Benutzer\
\.ssh\id_rsa . - 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\
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
- 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. - Erstellen Sie die .ssh Ordner in Ihrem Home-Verzeichnis und laden Sie die id_rsa.pub hoch Datei.
- 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ötigtsudo
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
- 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/
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\
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.
- 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 von172.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
undgleichzeitig in zwei getrennten Sitzungen öffnen. Nicht verwechseln, was was ist!