von Windows auf Linux zugreifen: SSH-Terminal, Dateien, Web

Ich habe jahrelang Ubuntu als Betriebssystem (OS) für meinen Hauptrechner verwendet, in jüngster Vergangenheit aber dennoch meinem alten Windows-Rechner nochmal eine Chance gegeben. Die Gründe dafür sind hauptsächlich der Einsatz von Office: Outlook, Word, Excel und die Verwendung von Visual Studio. Dank der Office-Online-Version und Visual Studio Code anstelle von Visual Studio und weil ich die Produkte nur selten eingesetzt habe, war ich mit Ubuntu als Client-OS lange mehr als zufrieden, dennoch wollte ich einen Rechner mit dem ich wieder alles starten kann.  

Windows als Client-OS, Linux für den Server

Nachdem mein Linux PC, eine selbst gebaute NAS,  Ubuntu als OS verwendet, wollte ich die Daten dort belassen und diese einfach von dort verwenden. Mein Ziel: die beste Kombination aus beiden Welten: Windows als Betriebssystem zum Arbeiten und meine Linux-Installation, also deren Dienste, von Windows aus verwenden. Das wäre dann in etwa so, wie es auch der Rest der Welt macht: Ein Blick auf die Statistik zeigt, dass Windows nach wie vor als Desktop-Client-Betriebssystem die Nummer Eins ist, anders bei den Serverbetriebssystemen: Dort haben eindeutig Linux basierte Betriebssysteme die Nase vorn. Vieles was ein Linux-System als Dienst zur Verfügung stellt, kann über den Browser aufgerufen werden, der Server selbst muss aber auch administriert werden, meist über das Terminal:

Linux-Befehle Terminal-Zugriff

Für das Ausführen von Befehlen auf einem Linux-System wird bekanntlich eine Konsole oder ein Terminal verwendet. Für den Zugriff auf die Konsole über das Netzwerk wird meist das Protokoll SSH verwendet.

putty

Das wohl bekannteste Tool für die Remote-Verbindung auf ein Linux-System ist das kleine Tool "putty".

siehe: putty 0.76 - SSH Client für Windows

Windows Subsystem for Linux (WSL)

Noch einfacher ist der Einsatz von WSL, dem "Windows Subsystem for Linux", siehe:  Linux unter Windows: WSL.

WSL ermöglicht das Starten eines Linux-Terminals in Windows und somit die Verwendung des SSH-Befehles für die Remote-Verbindung auf einen Linux-Rechner:

user@DESKTOP-xxx:~$ ssh root@192.168.1.1

Wer an dieser Stelle für die Anmeldung einen SSH-Key erzeugt, muss für die Verbindung kein Passwort verwenden, siehe: Ubuntu automatische SSH Anmeldung

Datei- und Ordner- Zugriff

WinSCP

Was "putty" für das Terminal ist, ist WinSCP für die Dateiübertragung. WinSCP ermöglicht den Zugriff auf bestimmte Dateien oder Ordner über SSH, FTP, SFTP, SCP, ..

siehe auch: WinSCP 5.19 - SSH Dateien vom Windows Rechner übertragen.

Eine Alternative zu WinSCP ist FileZilla, siehe: FileZilla 3.56.0 - free FTP Client

Wer direkt ein Linux-Filesystem als Netzlaufwerk verbinden will, kann dazu WinFsp verwenden:

WinFsp Linux Filesystem als Windows Netzlaufwerk verbinden

Mit dem Windows File System Proxy: WinFsp ist es möglich, ein Linux-Fileystem über SSH als Netzlaufwerk zu verbinden, siehe auch: github.com/billziss-gh/winfsp/releases und github.com/billziss-gh/sshfs-win/releases/tag/v3.5.20357

Um ein Netzlaufwerk zu verbinden, kann dann einfach der net use-Befehl oder der Windows Explorer-Dialog "Netzlaufwerk verbinden" verwendet werden:

net use w: \\sshfs.r\bernhard@192.168.1.5\.\var\web

alternativ: Netzlaufwerk verbinden ...

Um die Ordnerrechte auf dem Linux-PC besser steuern zu können, kann über einen eigenen Linux-Benutzer nachgedacht werden, dieser kann wie folgt auf dem Linux-Rechner angelegt werden:

user@server:/var/web$ sudo useradd win2linux
[sudo] Passwort für user:
user@server:/var/web$ sudo passwd win2linux

Wer nicht SSH als Protokoll für den Zugriff, sondern über das Windows-Protokoll SMB auf ein Netzlaufwerk eines Linux-Systems zugreifen will, benötigt dazu am Linux-System einen Samba-Server:

Samba - Server

Alternativ, kann am Linux-System auch eine Windows-Freigabe erstellt werden: Das Linux-System verhält sich dann gleich einem Windows-Fileserver und gibt Dateien über SMB (Server Message Block-Protokoll) frei, siehe auch:  Windows Netzwerk mit Samba Ubuntu.

Schlussendlich verwende ich aber weder Samba, noch WinSCP, noch FileZilla oder WinFsp für den Zugriff auf meine Daten, sondern Nextcloud:

Nextcloud

Auf meiner NAS habe ich Nextcloud über einen Docker-Container bereitgestellt. Nextcloud bietet eine einfache und elegante Lösung um eigene Dateien von verschiedenen Endgeräten zu verwenden: Für Windows gibt es dazu einen eigenen Sync-Client, welcher alle benötigten Ordner auf die lokale Festplatte synchronisiert, ähnlich OneDrive oder Dropbox. Die Kommunikation läuft dabei über das HTTP-Protokoll (Hypertext Transfer Protocol), also dem Protokoll welches auch für den Zugriff auf eine Webseite verwendet wird.

Siehe auch: Docker Nextcloud SSL - letsencrypt https

Für den Zugriff auf meine Entwicklungsumgebung verwende ich zusätzlich VSCode:

Visual Studio Code (VS-Code) - Remote

Ich habe zudem auf meiner NAS einige Docker-Container, unter anderem eine Testversion dieser Seite. Für den Umstieg auf Windows benötige ich also eine Lösung um den Container bei Bedarf anzupassen, also um am Filesystem der NAS entwickeln zu können. Eine Möglichkeit wäre der zuvor vorgestellte Windows File System Proxy, es geht aber noch einfacher: VS-Code kann über die "Remote-SSH extension" direkt über SSH auf den Linux-Rechner zugreifen und verhält sich dabei so, als würde der Linux-PC verwendet werden:

siehe: code.visualstudio.com/docs/remote/ssh-tutorial.

Ich war vorher schon ein großer Fan von VS-Code: die Remote-SSH extension ist aber definitiv ein weiteres Highlight und hat mich einmal mehr überzeugt.

Fazit

In den letzten Jahren wurde das Verwenden einer Linux-Distribution als Windows-Client-Ersatz immer attraktiver: Vieles spielt sich heute im Browser ab und immer mehr Programme oder Spiele können mittlerweile auch unter Linux betrieben werden, siehe auch: Linux als Ersatz für Windows? Einstieg: Umstieg?. Dennoch gibt es nach wie vor Programme, die nicht auf einem Linux-System gestartet werden können, allen voran die Microsoft Office und bestimmte Games. Wer darauf verzichten kann, ist bei einer Linux-Distribution gut aufgehoben und spätestens wenn die PC-Hardware Windows 11 nicht mehr unterstützt, bieten zum Beispiel Ubuntu oder Linux Mint ein modernes OS, welche auf der bestehenden Hardware ohne weiteres betrieben werden können. 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


Top-Artikel in diesem Bereich

Preview Alle Geräte - IP Adressen im Netzwerk anzeigen (finden)

Alle Geräte - IP Adressen im Netzwerk anzeigen (finden)

geändert: 05.05.2021 von Bernhard (Erstveröffentlichung: 08.11.2015)

Wer einen schnellen Überblick über alle aktiven Geräte in einem Netzwerk bekommen will, kann dies mit der Netzwerkerkennung, mit Befehlen in der Eingabeaufforderung, in PowerShell oder mit speziellen IP-Scannern.  ... weiterlesen

Preview cmd Befehle für die Netzwerkanalyse

cmd Befehle für die Netzwerkanalyse

geändert: 27.07.2020 von Bernhard (Erstveröffentlichung: 29.07.2012)

Die hier beschriebenen Befehle sind cmd-Befehle. Die Eingabe erfolgt über die Eingabeaufforderung: cmd  ... weiterlesen

Preview PING mit Port - Windows cmd | PowerShell: Test-Netconnection

PING mit Port - Windows cmd | PowerShell: Test-Netconnection

geändert: 20.09.2021 von Bernhard (Erstveröffentlichung: 27.04.2014)

Nicht alle Geräte antworten auf einen ping. In Windows PowerShell kann ein bestimmter Port mit Windows Boardmitteln getestet werden. Das Tool psping kann die Antwortzeit auf einen bestimmten Port messen. ... weiterlesen


Fragen / Kommentare


Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Details anzeigen.