OpenSSH in Windows 10

0
(0)

OpenSSH für Windows

Mit dem Build 1709 „Fall Creators Update“ hat Windows 10 auch ein paar versteckte Features eingeführt, die für Linux Admins und Poweruser interessant sind. Das beste für Linux- und Unix-Anwender ist vermutlich die Integration des SSH-Client und Server, wie bereits vor zwei Jahren angekündigt, der auf OpenSSH basierte SSH-Client.

Der Windows 10 SSH-Client

Um den SSH-Client auf Windows 10 zu aktivieren, gib man in der Eingabeaufforderung folgendes Command ein.

dism /online /Add-Capability /CapabilityName:OpenSSH.Client~~~~0.0.1.0

Anschließend kann der Client, der unter dem Pfad  „C:\WINDOWS\System32\OpenSSH“ installiert wurde, aus dem CLI wie von der Linux Shell gewohnt genutzt werden, beispielsweise auch ein lokales und Remote-Port-Forwarding steht zur Verfügung.

ssh -i C:\Users\homer\ssh\privkey.pem homer@lisa.simpson.home

                SSSSS  OOOO  L        AA   RRRRR   III  SSSSS
               S      O    O L       A  A  R    R   I  S
               S      O    O L      A    A R    R   I  S
                SSSS  O    O L      AAAAAA RRRRR    I   SSSS
                    S O    O L      A    A R R      I       S
                    S O    O L      A    A R  R     I       S
               SSSSS   OOOO  LLLLLL A    A R   R   III SSSSS

Linux Version 2.6.32-642.1.1.el6.x86_64, Compiled #1 SMP Tue May 31 21:57:07 UTC 2016
    Two 2.67GHz Intel Pentium Xeon Processors, 16GB RAM, 10667 Bogomips Total
                       Uptime 1482 days 17 hours 43 minutes
                                 lisa.simpson.home


homer@thinkpad0@lisa.simpson.home's password:

Die Windows-native OpenSSH-Implementierung, die Remote-Sitzungen in der Eingabeaufforderung „cmd“ und in der PowerShell ermöglicht, erlaubt nun ohne SSH-Tools auszukommen, wie es das Windows-Subsystem für Linux (WSL) mit bash on Windows, PuTTY oder KiTTY und dergleichen wäre.

Sollen Dienstprogrammen wie vi, top, man, multitail und weitere verwendet werden, macht man die besten Erfahrungen, in dem man die Windows SSH-Client Verbindung mit einem * nix-Server hat, das Terminal für einen xterm-ähnlichen Rendering-Modus konfiguriert.

TTY Support in Windows OpenSSH

Öffne hierzu die Eingabeaufforderung (cmd) und klicke mit der rechten Maustaste im Fenster oben links auf das kleine Icon    dann unten auf Eigenschaften.

Abbildung: Eigenschaften von Eingabeaufforderung

Stelle sicher dass Legacykonsole (erfordert Neustart) nicht deaktiviert ist.

Des Terminal Fenster sollte eine probate Größe haben, entsprechend zum gewählten Font und dessen Größe.

Abbildung: Eigenschaften von Eingabeaufforderung – Layout

Im Register Layout die Fensterbreite und Buffergrösse auf 110 setzen.

Für TTY und PTY wird der VT100 Terminal Emulator unterstützt, dazu benötigt es die Umgebungsvariable XTERM diese in der Windows MMC-Konsole mit Win + R control sysdm.cpl,,3 gesetzt werden kann.

Unten auf Umgebungsvariablen klicken und im Abschnitt Systemvariablen auf Neu klicken und die Variable TERM=xterm eintragen.

Das Fenster schließen und wieder öffnen, nun ist das TTY Terminal in einer SSH Verbindung anwendbar.

Hinweis zur Implementierung

Windows verfügt über keine integrierte Unterstützung für ein Pseudoterminal.

Die Windows-Version des OpenSSH-Servers implementiert einen VT100 PTY, indem Windows Console-Ereignisse abgefangen werden. Dies ist in ssh-shellhost.exe implementiert, verbunden mit sshd über stdout input/output. Auf einer high-level Ebene fungiert ssh-shellhost.exe als Vermittler zwischen sshd und einer Windows-Konsole, die Folgendes ausführt:

Interpretiert eingehende VT100, Prozesse und Aufrufe von Windows Console IO.

Verarbeitet die Ereigniswarteschlange der Windows-Konsole (Ausgabe), übersetzt sie in VT100 und gibt sie auf stdout aus.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert