OpenSSH in PowerShell

OpenSSH in PowerShell


The gap between Windows and Linux system administrators is shrinking with Microsoft’s support for OpenSSH.

Believe it or not, Microsoft is working on supporting OpenSSH. Yes, Microsoft is getting ready to support one of the mainstays of BSD, Linux, and Unix system administration.

This is less surprising than it sounds. The days when Windows and Linux users were at each others’ throats are going away. Unix and Linux system administrators use OpenSSL andOpenSSH to securely manage their servers every day. Microsoft, which has been integrating Linux into its Windows cloud and server offerings knows that its customers want support for OpenSSH.

Angel Calvo, Microsoft’s PowerShell Team Group Software Engineering Manager, explained, “A popular request the PowerShell team has received is to use Secure Shell protocol and Shell session (aka SSH) to inter-operate between Windows and Linux — both Linux connecting to and managing Windows via SSH and, vice versa, Windows connecting to and managing Linux via SSH. Thus, the combination of PowerShell and SSH will deliver a robust and secure solution to automate and to remotely manage Linux and Windows systems.”

Ironically, while SSH is used all the time with Linux — and that’s certainly how Microsoft sees it — OpenSSH is not a Linux project. It’s an OpenBSD program, which has been widely adopted by almost all the Unix family operating systems. Thus, while this move is meant to help administrators working with both Linux and Windows servers, it will also help those using the BSD operating systems.

There are already many Windows SSH programs. For example, most system administrators will be familiar with PuTTY. This is a popular, free and open-source telnet and SSH client. OpenSSH is also used in the well-known FileZilla secure file transfer protocol (sftp) program.

But, Calvo writes, “there are limited implementations customers can deploy in Windows production environments.” More to the point, Microsoft didn’t find any of them quite good enough.

Calvo continued, “After reviewing these alternatives, the PowerShell team realized the best option will be for our team to adopt an industry proven solution while providing tight integration with Windows; a solution that Microsoft will deliver in Windows while working closely with subject matter experts across the planet to build it.”

In short, “the PowerShell team will support and contribute to the OpenSSH community.” Yes, that’s right. Microsoft will be contributing to the OpenSSH under its BSD-style open-source license. While Microsoft has strongly objected to Linux’s GPL over the years, Microsoft has long been more accepting of the more permissive licenses such as Apache, BSD, and MIT.

Just because Microsoft is starting this project don’t get ready to try SSHing from your Windows PC to a Linux server using a native PowerShell program quite yet.

Calvo admits that “This is the third time the PowerShell team has attempted to support SSH.”

Things have changed.

Calvo continued, “Given our changes in leadership and culture, we decided to give it another try and this time, because we are able to show the clear and compelling customer value, the company is very supportive. So I want to take a minute and thank all of you in the community who have been clearly and articulately making the case for why and how we should support SSH!”

I agree. This is no longer Bill Gates’ or Steve Ballmer’s Microsoft. This Microsoft values what open-source and Linux can bring it. I have every expectation that Windows system administrators will soon be able to manage Linux servers using a native PowerShell SSH client.