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. Ich war mit Ubuntu als Client-OS lange Zeit mehr als zufrieden, dank der Office-Online-Version und Visual Studio Code anstelle von Visual Studio und weil ich die Produkte nur selten eingesetzt habe.  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.80 - 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-???:~$ 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 6.3 - SSH Dateien vom Windows Rechner übertragen.

Eine Alternative zu WinSCP ist FileZilla, siehe: FileZilla 3.67.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!

Aktualisiert: 17.04.2024 von Bernhard | Translation English |🔔 | Kommentare:0

WLAN Router tunen - Latenz, Internet langsam: Bufferbloat | Netzwerk | Windows WebDAV

Top-Artikel in diesem Bereich


IP Adressen im Netzwerk finden, auch wenn deren Firewall aktiviert ist

Einen schnellen Überblick über alle aktiven Geräte im Netzwerk liefern - neben der Verwaltungsoberfläche des Routers - Befehle in der Eingabeaufforderung, in PowerShell oder spezielle IP-Scanner. Die zu Beginn dieses Beitrages zusammengestellten PowerShell-Befehle geben einen schnellen Überblick über alle Geräte im lokalen Netzwerk und machen spezielle Programme für das Scannen des Netzwerks eventuell überflüssig. Wer die Befehle gerne in Aktion sehen will, kann dies in meinem YouTube-Video. Für...


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

Mit dem Tool Ping kann bekanntlich der Zugriff zu einem bestimmten Netzwerkgerät und dessen Antwortzeit getestet werden. Nicht alle Geräte antworten auf einen Ping, möglicherweise aber auf einen bestimmten TCP-Port, vorausgesetzt, es wird darüber ein bestimmter Netzwerkservice zur Verfügung gestellt. Windows PowerShell ermöglicht es, einen bestimmten Port mit Windows Bordmitteln zu testen. Das Tool PSping kann zudem die Antwortzeit auf einen bestimmten Port messen. Wer die Befehle gerne in Aktio...


cmd Befehle für die Netzwerkanalyse

Mit einfachen Befehlen kann ein schneller Überblick über die aktuellen Netzwerkeinstellungen ausgelesen werden, eventuelle Verbindungsfehler gefunden, oder ein Überblick über andere Geräte im Netzwerk verschafft werden. Die hier beschriebenen Befehle sind cmd-Befehle. Die Eingabe erfolgt über die Eingabeaufforderung: cmd, siehe auch das zugehörige YouTube-Video.

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details