Schlagwort-Archive: Windows Terminal

Windows Terminal ist ein Terminalemulator mit mehreren Registerkarten, der von Microsoft für Windows 10 und 11 verfügbar ist. Es sind Befehlszeilenanwendung in einer separaten Registerkarte ausführbar, wie PowerShell, WSL, SSH, and Azure Cloud Shell Connector vorkonfiguriert ist.

Ping als IP-Scanner im Netzwerk

Ping als IP-Scanner ermöglicht Netzwerk Admins das Auffinden von Geräten und deren IP-Adressen die in einem Netzwerksegment online sind.

Ping als IP-Scanner im Netzwerk

Ping hilft Geräte im Netzwerk zu finden und zu erkennen, auch ist es möglich Ping als einfachen IP-Scanner einzusetzen, etwa für das suchen im Netzwerk. Je nach Zweck und Aufgabe eignen sich auch kostenlose Tools die es in reichlicher Auswahl im Internet zu finden gibt. Ist jedoch kein Tool zur Hand, weil man etwa am Arbeitsplatz eines Benutzers ist. Wo es die Richtlinien untersagen, nicht freigegebene Tools auf dem Computer zu installieren. Dann gibt es die Möglichkeit das Netzwerksegment mit Windows Bordmittel zu scannen.

Hier hilft uns die Ausführung von Ping in einem For-Loop. Folgendes Beispiel sendet aus der Eingabeaufforderung in einem Einzeiler einen Ping an alle Adressen eines Subnets, um die Hosts die gerade online sind zu finden.

for /l %i in (1,1,255) do @ping 192.168.20.%i -w 1 -n 1 | find /i "ttl="

Die For-Schleife mit Schrittzähler 1 beginnend bei 1 und endet bei 255, hierdurch Ping für ein Class C Netz mit 255 hosts (CIDR /24) ausgeführt wird. Class C sind die am häufigsten verwendeten Netzwerksegmente. Wird beispielsweise die Netzmaske 255.255.255.128 (25) verwendet, wird anstelle von 255 die Zahl 128 eingesetzt.

Option -w 1 ist das Zeitlimit von 1 Millisekunden für die Antworten.
Option -n 1 ist die Anzahl der zu sendenden Echoanforderungen.
Option find /i "ttl=" zeigt nur die ICMP-Antworten.

C:\> for /l %i in (1,1,255) do @ping 192.168.20.%i -w 1 -n 1 | find /i "ttl="
Antwort von 192.168.20.1: Bytes=32 Zeit=2ms TTL=255
Antwort von 192.168.20.10: Bytes=32 Zeit=301ms TTL=64
Antwort von 192.168.20.70: Bytes=32 Zeit=295ms TTL=64
Antwort von 192.168.20.80: Bytes=32 Zeit<1ms TTL=128
Antwort von 192.168.20.112: Bytes=32 Zeit=1ms TTL=255

Auf diese Weise lassen sich mit Ping als IP-Scanner aktive IP-Adressen im Netzwerk finden. Es soll hier lediglich aufgezeigt werden, dass sich Ping in einem „For loop“ auf einfache Weise anwenden lässt. Bei höheren Anforderungen sind geeignete Tools hier besser geeignet.

Ping Funktionsweise

Ping sendet ein ICMP(v6)-„Echo-Request“-Paket (ping, ICMP-Pakettyp 8 (0x08), ICMPv6-Pakettyp 128 (0x80)) an die Zieladresse des zu überprüfenden Hosts. Der Empfänger muss, sofern er das Protokoll unterstützt, laut Protokollspezifikation eine Antwort zurücksenden: ICMP „Echo-Reply“ (pong, ICMP-Pakettyp 0 (0x00), ICMPv6-Pakettyp 129 (0x81)). Ist der Zielrechner nicht erreichbar, antwortet der zuständige Router: „Network unreachable“ (Netzwerk nicht erreichbar) oder „Host unreachable“ (Gegenstelle nicht erreichbar).

Aus einer fehlenden Antwort kann nicht geschlossen werden, dass die Gegenstelle nicht erreichbar wäre, da manche Hosts so konfiguriert sind, dass sie ICMP-Pakete ignorieren und verwerfen.

Wird dem Ping-Kommando ein Hostname in FQDN-Schreibweise anstatt einer IP-Adresse übergeben, lässt das Programm diesen durch das Betriebssystem auflösen. Bei fehlerhaften Konfigurationen (hosts-Datei, lmhosts-Datei, WINS, DNS) schlägt diese nach Ablauf einer Wartezeit (Timeout) fehl und resultiert in einer Fehlermeldung. Falls eine IP-Adresse angegeben wurde, tritt in dieser Situation ein ähnliches Problem auf, da zunächst das Scheitern der Rückwärtsauflösung zur Bestimmung des zur IP-Adresse gehörigen FQDN abgewartet werden muss. Je nach Implementation von ping lässt sich das Reverse-Lookup mit einer Option abschalten oder ist standardmäßig deaktiviert.

Wireshark Ping ICMP Echo Request

Windows Terminal SSH Verbindung aus KeePass

Dieses Tutorial zeigt die Bereitstellung von SSH aus dem Windows Terminal unter Windows 11, mit der URL override Regel im KeePass Password Manager.

KeePass SSH URL Override Schema hinzufügen

Erst in KeePass ein Schema Element für URL Override erstellen, dazu gehe auf Tools – Options.

Windows Terminal SSH Verbindung aus KeePass

dann im Tab Integration klicke unten die Schaltfläche URL Overrides.

KeePass Options Integration

Im KeePass Fenster URL Override auf Add klicken für ein neues Schema.

KeePass URL Overrides for Windows Terminal using SSH

Als Schema Name verwende ich hier im Beispiel „winterm“. Im Feld URL override die folgende Zeile einfügen.

cmd://wt ssh "{USERNAME}@{TITLE}"

  Mit „wt“ wird der Windows Terminalemulator ausgeführt, dann wird der Benutzername in geschweiften Klammern und der Hostnamen aus dem Feld „Title“ übergeben.

Mit OK bestätigen und KeePass schliessen und wieder starten.

SSH Terminal mit KeePass URL override

Nachdem in KeePass unser Schema Element winterm angelegt ist, erstellen wir ein neuen Eintrag mit Add Entry, bei Title der Hostname eintragen, dazu User name mit Password, im Feld URLwinterm:“ (mit Doppelpunkt) eintragen.

in KeePass neuer Eintrag erstellen

Windows Terminal SSH Sitzung starten

KeePass double-click the URL item

Der neue SSH Terminal override Eintrag steht nun zur Verfügung. Mit einem Doppel-Klick auf die URL wird die SSH Verbindung aus KeePass gestartet, hier zum Linuxmint.

Windows Terminal connect SSH launch from KeePass

SSH Authentifizierung mittels Public-Key-Verfahren

Der SSH-Zugang und die Authentifizierung mittels Public-Key-Verfahren ist nicht nur sicherer, die Anmeldung ohne Passwort Eingabe vollzieht sich auch einfacher.

Es wird am Client ein Schlüsselpaar erstellt, der öffentliche Teil des Schlüssels auf den Server übertragen. Anschließend den Server für die asymmetrische Verschlüsselung und Authentifizierung einrichten. Mehr dazu im Tutorial hier und in ssh-keygen so geht’s.

Unter dem Pfad des Windows-Benutzerprofil wird ein Verzeichnis „.ssh“, mit einem Punkt (.) angelegt. Den wechsel zum Pfad geht am einfachsten mit der Eingabe von „%USERPROFILE%“ in der Windows-Explorer Adressleiste.

Windows-Explorer Adressleiste Userprofile

Das Verzeichnis für zB: C:\Users\james\.ssh, darin befindet sich die Schlüsseldatei mit dem Privatkey „key-ecdsa„, sowie die Datei „config„.

Ordner .ssh unter dem Userprofile

  Die Datei „known_hosts“ wird von SSH automatisch erzeugt, sobald eine Verbindung zum ersten mal erfolgreich authentifiziert wurde. SSH fügt den Fingerprint zu known_hosts hinzu um Man-in-the-middle Angriffe zu vermeiden.

Die „config“-Datei erstellen wir mit dem Notepad Editor, und fügen die folgenden Zeilen ein.

Host linuxmint
     HostName 10.10.10.10
     User james
     IdentityFile ~/.ssh/key-ecdsa
     ServerAliveInterval 60

Der Host name ist dieser den wir in KeePass bei Title verwenden. Der Benutzer ist hier james, die Schlüsseldatei verweist mit IdentityFile auf die Datei „key-ecdsa“ unter %USERPROFILE%\.ssh.

Notepad

  OpenSSH unter Windows ist eine Portierung aus dem OpenBSD-Projekt (Open Source), unter unixoiden Beitriebssystemen wird das Tilde (~) Zeichen als relativer Pfad zum User Home Verzeichnis verwendet. Bei Windows die Umgebungsvariable %USERPROFILE%. Ein führender Punkt in Dateinamen und Verzeichnisse (.ssh) gilt unter unixoiden Systemen für Versteckte (hidden) Dateien und Verzeichnisse.