15 YouTube views, likes subscribers in 10 minutes. Free!
Get Free YouTube Subscribers, Views and Likes

WinRM vs. OpenSSH: A Showdown for PowerShell Remoting - Paul Broadwith - PSConfEU 2023

Follow
PowerShell Conference EU

In this session, we dive into the comparison between WinRM and OpenSSH as tools for system management. While this is a highlevel overview, we explore where OpenSSH stands and whether it can be considered a competitor to WinRM. As the Technical Engineer Manager at Chocolaty Software, I provide a brief introduction to myself and my background in IT.

We start off by outlining the agenda for the talk, which includes an overview of WinRM and OpenSSH, a demo, configurations and manager support for SSH on Windows, choosing between WinRM and OpenSSH, and the future of OpenSSH.

We discuss the history of WinRM, from its introduction in 2005 to the scalability and security improvements in 2012 that led to increased adoption among organizations. While WinRM is native to the Windows operating system and supports Kerberos and NTLM, making it compatible with Active Directory systems, it is not crossplatform and can be complex to set up, especially with certificatebased authentication.

On the other hand, OpenSSH is crossplatform, widely supported, and has been around for a long time. It offers features like SCP, SFTP, and tunneling, making it a popular choice for managing both Windows and nonWindows systems. However, it requires installation and configuration, which can pose challenges for Windows administrators unfamiliar with Unix environments.

We also address the current lack of support for OpenSSH in Windows, but highlight its potential for growth. We discuss the need to have a PowerShell subsystem installed in order to use the PowerShell cmdlets, even on Linux machines. To demonstrate the installation process, we conduct demos using machines running in a VMware workstation, showcasing the configuration of WinRM and the installation of OpenSSH.

We emphasize the ease of installing OpenSSH using the Chocolatey package, which has a universal installer script to automate the configuration process. We also explain the use of package parameters to install different features, such as the server component, and demonstrate how to check if OpenSSH is installed and running using PowerShell commands.

Next, we explore connecting to Windows PowerShell using WinRM and explain the setup of two endpoints one for Windows PowerShell and one for PowerShell Core. We discuss the multiple endpoints that can be configured for different versions of PowerShell when using PowerShell Core and highlight the need to add the PowerShell subsystem to the OpenSSH configuration file.

Moving on to configuration management support, we mention that Ansible has the best support for Windows, although it's still experimental. Puppet also has support for Windows, but we haven't personally used it. We note that WinRM is native to Windows and requires no additional configuration, making it an easy and reliable choice. While OpenSSH is lightweight and performant, it has limited PowerShell couplings. However, we speculate that OpenSSH may become more relevant for managing nonWindows systems in the future, as Microsoft puts more effort into its development.

In conclusion, WinRM is the winner for its ease of use and reliability, but OpenSSH shows potential for growth in Windows administration, especially for managing Nix boxes. It offers the advantage of supporting credentials and keybased authentication, as well as avoiding the "double hop" problem that WinRM can have.

Chapters:
00:00:00 WinRM vs. OpenSSH: A Showdown for PowerShell Remoting Paul Broadwith PSConfEU 2023
00:00:09 Introduction: WinRM vs OpenSSH
00:02:44 Agenda: Overview, Demo, Configurations, Future of OpenSSH
00:07:21 OpenSSH: Introduction and Evolution
00:09:14 History and versions of OpenSSH
00:11:33 Challenges and limitations of using OpenSSH in Windows
00:14:50 Troubleshooting the Connection Issue
00:16:04 Introduction and the need for SSH version update
00:18:28 Installing OpenSSH using Chocolatey package
00:20:03 Checking if OpenSSH is installed and verifying version
00:21:32 Introd…

posted by piomalmSopEqk