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

Ein Windows-Typ in einer Linux-Welt:VS-Code und Remote-SSH

Willkommen zur letzten Folge von A Windows Guy in einer Blogbeitragsserie von Linux World, in der Sie lernen, VS Code und einen Remote-SSH-Host zu verbinden. Wenn Sie die Serie mitverfolgt haben, sollten Sie jetzt bereits über alle Tools und Kenntnisse verfügen, um mit der Fernverwaltung Ihrer Linux-Rechner (einschließlich der Bearbeitung von Dateien) zu beginnen.

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

Sehen Sie sich die vorherigen Posts in dieser Serie an:

  • Benutzer- und Dateiberechtigungen
  • YaST und der Desktop
  • Mitternachtskommandant

Die zuvor behandelten Tools sind nützlich, aber sie fühlen sich nicht wie Windows an. Die Linux-Tools können sich im Vergleich zu einer nativen Windows-Erfahrung fremd und schwierig anfühlen. In diesem letzten Artikel einer fünfteiligen Serie erfahren Sie, wie Sie Dateien nativ auf Ihrem Windows-Computer mit Visual Studio (VS) Code für ein moderneres Erlebnis bearbeiten.

Voraussetzungen

Um den Beispielen in diesem Beitrag zu folgen, stellen Sie sicher, dass Sie Folgendes haben:

  • Visual Studio Code für Windows. Diese Anleitung verwendet Version 1.5.1.1
  • Windows 10 (SSH wird benötigt und ist vorinstalliert)
  • Ein OpenSUSE-Host mit aktiviertem SSH und installiertem Midnight Commander

Die Notwendigkeit einer großartigen Bearbeitungsumgebung

Linux hat keine zentrale Registry. Im Gegensatz zu Windows praktisch alles about Linux dreht sich um Konfigurationsdateien. Jede Änderung, die Sie in einer GUI vornehmen, jedes Kästchen, das Sie in einer Weboberfläche ankreuzen, jede Konfigurationsänderung, die Sie vornehmen, es gibt irgendwo eine Datei, die diese Einstellung widerspiegelt.

Da Konfigurationsdateien in Linux so wichtig sind, benötigen Sie einen großartigen Texteditor. Linux hat ein paar gute, darunter den Texteditor Midnight Commander (bekannt als mcedit ) früher behandelt.

Diese Serie ist jedoch für die Arbeit an Linux aus der Perspektive eines Windows-Benutzers gedacht. Windows hat (wohl) das Beste Texteditor auf dem Markt. Noch besser:Es ist vollständig kompatibel mit dem Linux-Remoting-Protokoll (SSH).

Visual Studio Code – Microsofts bevorzugter Texteditor

Microsoft stellt einen unglaublich leistungsfähigen Texteditor her:Visual Studio Code. VS Code hat fast jeden anderen Texteditor im Microsoft-Ökosystem übernommen, um die primäre Methode zum Bearbeiten von Dateien unter Windows zu sein. Möglicherweise sind Sie bereits mit Visual Studio Code vertraut:Auf dieser Website wird es häufig behandelt.

Visual Studio Code ist technisch gesehen eine integrierte Entwicklungsumgebung (IDE) sowie ein syntaxfähiger Editor. Das bedeutet, dass Sie Shell-Befehle direkt im Editor ausführen und ihn zum Debuggen Ihrer Skripte verwenden können.

Sie können mit VS Code nicht nur lokal mit Dateien arbeiten, sondern VS Code unterstützt auch die Remote-Dateibearbeitung über SSH. Remote-Dateibearbeitung bedeutet, dass Sie, anstatt über eine SSH-Eingabeaufforderung durch die Befehlszeile zu navigieren, Dateien direkt öffnen, durchsuchen und bearbeiten können, ohne VS Code zu verlassen!

Installieren und Verbinden von VS Code und Remote-SSH-Erweiterung

VS Code wird nicht standardmäßig mit SSH-Unterstützung geliefert, aber mit der Leistungsfähigkeit des Erweiterungsmarktplatzes können Sie diese Funktionalität hinzufügen. Dazu müssen Sie die Remote-SSH-Erweiterung installieren.

  1. In VS Code sollten Sie links eine Seitenleiste sehen, die wie ein Block aussieht. Klicken Sie auf dieses Symbol, um das Suchfeld für den Erweiterungsmarkt aufzurufen.

2. Geben Sie ssh ein um nach Remote – SSH zu suchen Verlängerung wie unten gezeigt. Die offizielle Microsoft-Erweiterung sollte das beste Ergebnis sein.

3. Klicken Sie auf das grüne Installieren Schaltfläche neben Remote – SSH Erweiterung, um mit der Installation zu beginnen.

Nach der Installation sollten Sie sofort ein neues Symbol namens Remote Explorer in der Seitenleiste sehen Wie nachfolgend dargestellt.

Jetzt können Sie mit dem Hinzufügen Ihrer SSH-Sitzung beginnen.

Herstellen einer Verbindung zu einem Zielserver mit SSH in VS Code

Sehen wir uns nun an, wie Sie über SSH eine Verbindung zu Ihrem entfernten Linux-Rechner herstellen und einige Dateien mit VS Code bearbeiten können!

  1. Klicken Sie auf Remote Explorer Symbol, das Sie gerade installiert haben, um das Remote-Explorer-Bedienfeld zu öffnen.

2. Klicken Sie auf das + Symbol in den SSH-Zielen , um einen neuen SSH-Server hinzuzufügen, zu dem eine Verbindung hergestellt werden soll, wie unten gezeigt.

3. Geben Sie ssh @ip ein an der Eingabeaufforderung auf Ihrem Linux-Zielcomputer, wie in den Voraussetzungen beschrieben. Für das folgende Beispiel ist der Benutzer homelab und die IP ist 172.25.179.190 .

4. Sie sollten nun eine leere Eingabeaufforderung sehen, die unten gezeigt wird und Sie fragt, wo die Konfigurationsdaten gespeichert werden sollen. Dies ist die Datei, die alle gespeicherten Verbindungen beschreibt, falls wir mehrere Linux-Geräte haben, mit denen wir eine Verbindung herstellen. Für dieses Beispiel können Sie das Feld leer lassen, um am Standardspeicherort zu speichern. Drücken Sie die Eingabetaste, um den Standardspeicherort zu speichern (C:\users\\.ssh\config ).

5. Klicken Sie abschließend mit der rechten Maustaste auf das neu erstellte SSH-Ziel und klicken Sie auf Mit Host im aktuellen Fenster verbinden. Diese Aktion stellt über SSH eine Verbindung zum Ziel her und richtet VS Code für die Remote-Arbeit ein.

Wenn alles gut gegangen ist, sollten Sie jetzt im nächsten Abschnitt sofort mit der Konfiguration von SSH beginnen können.

Wenn Sie an dieser Stelle nicht weiterkommen, vergewissern Sie sich, dass Sie tatsächlich eine SSH-Verbindung zu Ihrem Zielcomputer herstellen können. Der einfachste Weg zum Testen besteht darin, ein Befehlsfenster (unter Windows 10) zu öffnen und mit ssh @ zu testen . Wenn das bei Ihnen nicht funktioniert, kann VSCode auch keine Verbindung herstellen.

SSH bei Ihrer ersten Verbindung konfigurieren

Sobald Sie sich zum ersten Mal mit dem Remote-SSH-Server verbunden haben, müssen Sie einige Erstkonfigurationen vornehmen. Wie Sie unten sehen können, fragt VS Code nach der Art der Verbindung, die Sie herstellen (Linux), und fordert Sie zur Eingabe eines Passworts auf. Nach einer kurzen Verzögerung sollte die untere linke Ecke grün werden und SSH:.

sagen

Sie sind jetzt eingerichtet und bereit, mit dem Remote-Dateisystem zu arbeiten!

Öffnen eines Remote-Ordners und von Dateien

Sobald Sie sich zum ersten Mal verbunden haben, können Sie damit beginnen, Dateien auf dem Remote-Linux-Server über SSH zu öffnen. Dazu:

  1. Klicken Sie oben links auf die Seitenleiste namens Explorer Bereich.

2. Klicken Sie auf den blauen Ordner öffnen Schaltfläche, um einen Remote-Ordner zu öffnen.

3. Wählen Sie als Nächstes einen Ordner zum Öffnen aus. Im folgenden Beispiel verweisen wir auf den Ordner /home/.

Möglicherweise werden Sie aufgefordert, Ihr Passwort erneut einzugeben, wenn Sie den Ordner auswählen.

Sobald Sie einen Ordner geöffnet haben, sollten Sie eine visuelle Darstellung des Inhalts des Remote-Ordners im unten gezeigten Datei-Explorer-Bedienfeld erhalten.

Der Basisordner im Datei-Explorer-Bedienfeld wird als Ihr Arbeitsbereich bezeichnet . Der Arbeitsbereich ist der Ordner, den Sie im vorherigen Schritt geöffnet haben. Sie können unten sehen, dass das Datei-Explorer-Bedienfeld jetzt den Inhalt des Ordners anzeigt, den Sie im letzten Schritt geöffnet haben.

Sie können jetzt jede Datei öffnen (wie die .bashrc Datei im Screenshot) und VS Code zeigt sie automatisch im Hauptfenster an, komplett mit Syntaxhervorhebung!

Technisch gesehen können Sie den Stammordner öffnen (/ ) als Arbeitsbereich und haben somit Zugriff auf das gesamte Dateisystem (lesen Sie mehr zum Dateisystem im zweiten Teil dieser Serie). VS Code wird jedoch Probleme haben, automatisch nach Änderungen zu suchen, wenn der Zielarbeitsbereich zu groß ist. VSCode gibt eine Warnung aus und Sie müssen möglicherweise manuell aktualisieren, um Änderungen am Dateisystem zu sehen.

Auswählen eines anderen Arbeitsordners

Was passiert, wenn Sie einen Ordner öffnen und die Dateien, mit denen Sie arbeiten müssen, sich in einem anderen Ordner befinden? In diesem Fall können Sie einen anderen „Basis“-Ordner öffnen oder sogar Ordner zu Ihrem Arbeitsbereich hinzufügen.

Wenn Sie einen komplett separaten Ordner öffnen möchten (den letzten schließen), können Sie dies tun, indem Sie zu Datei navigieren Menü, indem Sie auf Ordner öffnen klicken und wählen Sie Ihren neuen Ordner aus. Diese Aktion schließt VS Code und öffnet einen neuen Arbeitsbereich.

Wenn Sie den anderen Ordner geöffnet lassen und einen weiteren Ordner zu Ihrem Arbeitsbereich hinzufügen möchten, navigieren Sie zu Datei Menü erneut und klicken Sie dieses Mal auf Ordner zum Arbeitsbereich hinzufügen . Von hier aus können Sie dem bestehenden Arbeitsbereich neue Ordner hinzufügen.

Eine Erklärung dazu finden Sie im Screenshot unten.

Nachdem Sie nun gelernt haben, wie man eine Verbindung zu einem Ziel herstellt und das Explorer-Fenster in einem Ordner öffnet, schauen wir uns an, was Sie tatsächlich tun können mit dem Dateiexplorer.

Übertragen von Dateien zwischen Host und Target

VS Code ist unglaublich leistungsfähig und der Explorer-Bereich ist nicht nur für das Durchsuchen und Bearbeiten von Remote-Dateien nützlich. Sie können damit auch Dateien direkt auf Ihren Server hochladen und herunterladen!

Das Hochladen und Herunterladen von Dateien ist so einfach wie Drag &Drop. Zum Beispiel, um eine lokale Datei auf den Remote-Server hochzuladen:

  1. Navigieren Sie zu dem lokalen Ordner, der die Datei(en) enthält, die Sie auf den Remote-Server hochladen möchten.
  2. Ziehen Sie die Datei(en) aus dem lokalen Windows-Explorer-Fenster in den Datei-Explorer-Pain in VS Code.

Fertig!

So laden Sie eine Datei herunter:

  1. Navigieren Sie zu den Dateien, die Sie vom Remote-Server herunterladen möchten.
  2. Wählen Sie die Datei(en) aus, klicken Sie mit der rechten Maustaste darauf und wählen Sie Herunterladen .
  3. Wählen Sie einen Ort zum Speichern aus und voila, Sie haben die Datei(en) heruntergeladen.

Sie können diese Schritte unten in Aktion sehen.

Sie können auch ausschneiden, kopieren, ziehen und ablegen, neue Dateien/Ordner erstellen und das meiste, was Sie von einem Explorer-Fenster aus erwarten, tun. Es geschieht alles remote auf dem Server.

VS Code hat noch einen SSH-Trick im Ärmel; Sie können VS Code auch als Standard-SSH-Terminal verwenden!

Während Sie mit einem SSH-Ziel verbunden sind, klicken Sie auf Anzeigen Menü und wählen Sie Termina l wie unten gezeigt. VS Code öffnet eine Remote-SSH-Sitzung.

Sie können im Terminal alles tun, was Sie tun können, indem Sie SSH direkt verwenden. Dazu gehört sogar die Verwendung von Midnight Commander, komplett mit Mausunterstützung! Unten sehen Sie, wie Midnight Commander gestartet wird.

VS Code verwendet den nativen Windows-SSH-Client unter der Haube (7.7p1 ab Windows 10 v2009). Um Mausunterstützung zu erhalten, benötigen Sie den Microsoft SSH-Client (8.1p1 zum Zeitpunkt des Schreibens dieses Artikels). Mehr darüber erfahren Sie in Teil IV dieser Serie .

Bearbeiten geschützter Konfigurationen und Ändern geschützter Dateien

Es gibt einen Nachteil bei der Verwendung von VS Code im Vergleich zur Befehlszeile:Es werden keine Dateien geändert, für deren Änderung Administratorrechte erforderlich sind. Das sind Dateien, die Sie mit sudo öffnen müssen bearbeiten. Sie können dieses Problem auf zwei Arten umgehen:

sudo ist die Möglichkeit, Befehle in Linux zu erhöhen. Es entspricht UAC in Windows. Anstatt eine Eingabeaufforderung mit erhöhten Rechten zu öffnen, führen Sie Befehle mit sudo aus vorne.

Genau wie ein normales SSH-Fenster können Sie auch sudo ausführen Befehle im VS Code Terminal. VS Code kann jedoch keine Dateien speichern, für deren Änderung Administratorrechte erforderlich sind. Aber Sie können Verwenden Sie ein Tool namens Midnight Commander (mit sudo um innerhalb ein Explorer-Fenster zu erstellen die VSCode-Befehlszeile mit Administratorrechten.

Führen Sie im Remote-SSH-Sitzungs-VS-Code-Terminal sudo mc aus , um das Dateiverwaltungstool Midnight Commander zu öffnen. Navigieren Sie hier zu den geschützten Dateien, die Sie bearbeiten möchten, und ändern Sie sie nach Belieben. Sie sollten damit kein Problem haben.

Aktionen werden unten angezeigt.

Der Nachteil der Verwendung von sudo mc für administrative Änderungen ist ziemlich groß:Sie sind vollständig auf die Verwendung des VS Code-Terminals beschränkt. Das bedeutet, dass die meisten grafischen Funktionen von VS Code wie der Explorer-Bereich und sogar das Hauptbearbeitungsfenster nicht verwendet werden können. Sie sind zur Navigation vollständig auf das Terminalfenster beschränkt.

Die Verwendung der Midnight Commander-Problemumgehung in VS Code funktioniert, aber Sie sollten keine geschützten Dateien bearbeiten, die häufig. Mit sudo mc sollte nur erforderlich sein, um eine kleine Änderung vorzunehmen oder eine einmalige Konfiguration durchzuführen.

Wenn Sie Dateien haben, an denen Sie regelmäßig arbeiten, sollten Sie in den Besitz oder die Gruppe für diesen Ordner aufgenommen werden. Dadurch entfällt die Notwendigkeit von Administratorrechten.

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

Zusammenfassung

Danke an alle, die diese fünfteilige Serie durchgehalten haben. Mit der Konfiguration von VS Code sollten Sie nun bereit sein, Ihre Reise durch die Linux-Welt fortzusetzen.

Mit den Konzepten haben Sie jetzt eine solide Grundlage, um sich in die praktischeren Teile von Linux zu verzweigen:Server betreiben, Docker lernen und Ihre eigene Infrastruktur einrichten. Bleiben Sie dran und erwarten Sie, dass hier in Zukunft noch viele weitere Linux-bezogene Projekte auftauchen werden!


Linux
  1. Windows- und Linux-Interoperabilität:Ein Blick auf Samba

  2. So mounten Sie die Remote-Windows-Freigabe unter Linux

  3. Zeigen Sie die DELL-Service-Tag-Nummer und den Express-Servicecode unter Linux und Windows an

  4. 11 Nützliche „ssh“- und „scp“-Befehle unter Linux

  5. Wie tunnelt man Windows Remote Desktop über ssh mit einer Linux-Box?

Ein Windows-Typ in einer Linux-Welt:Benutzer- und Dateiberechtigungen

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

Remotezugriff auf Windows 10 über Ubuntu Linux und Vise Versa

So verwenden Sie SSH, um eine Verbindung zu einem Remote-Server unter Linux oder Windows herzustellen

Wie mounte ich einen Remote-Linux-Ordner in Windows über SSH?

Windows-zu-Linux-Remotedesktop