Windows Subsystem for Linux Hacks
Da ich dank Coronavirus mehr von zu Hause arbeite als sonst, habe ich mir überlegt PuTTY auf meinem Windows 10 Desktop abzulösen. Ich musste nicht lange überlegen und habe mich für das Windows Subsystem for Linux, kurz WSL, von Microsoft entschieden.
In diesem Artikel gehe ich auf die Installation sowie ein paar kleine Hacks ein.
Punkt 1: WSL Installation
Zuerst aktivieren wir das Windows Subsystem for Linux. Wir öffnen dazu die Windows PowerShell im administrativen Modus.
Dazu drücken wir die Windows Taste + X und anschliesend A oder wählen Windows PowerShell (Administrator) aus und führen diesen Befehl aus.
1 | Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux |
Anschließend möchte Windows 10 neustarten.
Punkt 2: Linux installieren
Jetzt könnt ihr euch im Microsoft Store ein Linux aussuchen und installieren. Mögliche Linux Betriebssysteme werden hier aufgelistet.
Der schnelle Weg geht wieder über die PowerShell.
Debian 10:
1 2 3 | Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile Debian.appx -UseBasicParsing Add-AppxPackage .\Debian.appx rm Debian.appx |
Ubuntu 18.04 LTS:
1 2 3 | Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1804 -OutFile Ubuntu.appx -UseBasicParsing Add-AppxPackage .\Ubuntu.appx rm Ubuntu.appx |
Fertig ist das Linux Subsystem unter Windows 10.
Punkt 3: Nützliche Hacks
Ich führe hier auf welche Anpassungen (Hacks) mir geholfen haben. Ihr dürft die Liste gerne via Kommentar erweitern.
Einen SSH-Agent einrichten:
1 2 3 4 5 6 7 | apt install keychain cat <<EOF >> ~/.bashrc # ssh-agent /usr/bin/keychain --nogui $HOME/.ssh/id_rsa source $HOME/.keychain/$HOSTNAME-sh EOF |
Ping für nicht-root Benutzer erlauben:
1 | sudo chmod u+s $(which ping) |
Funktionierendes Nmap:
Wir öffnen wieder die Admin PowerShell und installieren Chocolatey, einen praktischen Windows Paketmanager.
1 | Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) |
Zu Chocolatey gibt es auch ein grafisches Interface, dies installiert ihr mit nur einem Befehl:
1 | choco install chocolateygui |
Nmap wird ebenfalls auf diesem Wege installiert:
1 | choco install nmap |
Nun kann in der Linux Konsole ein Nmap Alias angelegt werden:
1 2 3 | cat <<EOF >> ~/.bashrc alias nmap='"/mnt/c/Program Files (x86)/Nmap/nmap.exe"' EOF |
Das Linux Paket deinstallieren wir:
1 | apt remove nmap |
Öffnet die Linux Konsole neu und nmap funktioniert.
Punkt 4: WSL 2 Upgrade (29.06.2021)
Die oben beschrieben Hacks werden bei Version 2 nicht mehr benötigt. Alle eure Daten bleiben erhalten bei dem Upgrade von WSL 1 auf 2.
- Lade dir das Kernel Upgrade herunter und installiere es.
- Prüfe im BIOS ob die Virtualisierung in den CPU Einstellungen aktiviert ist!
- Führe folgende Befehle in einer Admin PowerShell aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 | dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart wsl --set-default-version 2 wsl --list --verbose NAME STATE VERSION * Debian Running 1 wsl --set-version Debian 2 wsl --list --verbose NAME STATE VERSION * Debian Running 2 |
Das Betreiben der Dienste, Webseite und Server machen wir gerne, kostet aber leider auch Geld. Unterstütze unsere Arbeit mit einer Spende. |
Als weitere Putty -Alternative:
Windows 10 bringt seit einiger Zeit einen sehr gut funktionierenden SSH-Client (und auch Server) mit.
https://docs.microsoft.com/de-de/windows-server/administration/openssh/openssh_install_firstuse
Das kann man auch wunderbar mit KeepassXC als SSH-Agent kombinieren.
https://keepassxc.org/docs/#faq-ssh-agent-how
Diese Kombination setze ich seit einigen Monaten sehr erfolgreich und Zufrieden ein.
Bleibt natürlich die Frage: Wozu überhaupt noch Windows. 🙂 *duck und weg*
Zum Daddeln 😉