Alle Beiträge von Don Matteo

lebt in der Schweiz, ist System Engineer MCP bei A-Enterprise GmbH. Mitglied des UNBLOG Knowledge Network. Author und Blogger zu den Themen, Tutorials für Linux und Open Source.

OpenSSH in Windows 10

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.

Outlook gesendete E-Mail DelegateSentItemsStyle

Outlook gesendete E-Mails sind nicht in „Gesendete Elemente“ des freigegebenen Postfaches

Outlook bietet mehreren Personen Zugriff auf ein freigegebenes Exchange-Postfach, um von dort aus E-Mails zu senden. Die gesendeten E-Mails befinden sich jedoch unter Gesendete Elemente im Postfach des eigenen Benutzers. Dieses Standardverhalten von Outlook macht es für Mitarbeiter schwierig zu verstehen, was von wem auf welche E-Mail geantwortet wurde.

Es gibt keine Möglichkeit, dieses verhalten in den Outlook-Einstellungen zu ändern. Durch das Hinzufügen eines Registrierungsschlüssels kann aber Outlook solche E-Mails immer in das Postfach verschieben, das die E-Mail gesendet hat. Die folgenden Anweisungen gelten für Microsoft Outlook 2007 bis 2019.

So wird’s gemacht

Öffne den Registrierungseditor mit der Tastenkombination Win+R

Dann regedit eingeben und OK klicken, navigiere nun zum folgenden Registrierungsschlüssel:

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Preferences

Die Zahl 15.0 steht für die Office-Version, die folgenden Werte gelten für die Versionen:

12.0 = 2007
14.0 = 2010
15.0 = 2013
16.0 = 2016
16.0 = 2019
16.0 = Office 365

Erstelle einen neuen DWORT-Schlüssel mit dem Namen DelegateSentItemsStyle, und weise diesem neu erstellten Schlüssel den Wert 1 zu.

Wie man sieht, ist die Versionsnummer bei 16.0 stehen geblieben, es müsste für Outlook 2016 Version 17.0 werden. Dies liegt daran, dass Office 2016 und Office 2019 jetzt dieselbe Codebasis wie Office 365 haben.

Alternativ kann man den folgenden Befehl in einer Eingabeaufforderung als Administrator ausführen.

REG ADD "HKCU\Software\Microsoft\Office\16.0\Outlook\Preferences" /v "DelegateSentItemsStyle" /t REG_DWORD /d "1" /f

Outlook kann nun die versendeten E-Mails in „Gesendete Elemente“ im freigegebenen Postfach speichern.

Hinweis! Outlook muss so konfiguriert sein, dass es im Cache Modus ausgeführt wird, damit diese Option ordnungsgemäß funktioniert.

Das kumulative Update 9 für Exchange Server 2013 hat eine neue Funktion eingeführt, mit der Administratoren die Option zum Kopieren von Nachrichten in den Ordner Gesendete Elemente festlegen können.

Leider gibt es keine einfache Lösung für Öffentliche Ordner. Dazu muss eine Transportrolle auf dem Exchange-Server konfiguriert werden.

Wenn man moch Exchange 2010 weiterhin verwendet, muss man zu den OWA-Optionen für das freigegebene Postfach wechseln, und wählt unter Einstellungen Gesendete Elemente, Absender und „Von“-Postfächer aus.

Microsoft hat uns auch ein PowerShell-Cmdlet gespendet, bei Exchange 2010 SP2 RU4 ist der Befehl Set-MailboxSentItemsConfiguration verfügbar.

Set-MailboxSentItemsConfiguration "Freigabepostfach" -SendAsItemsCopiedTo SenderAndFrom