It has been a while since Steve Ballmer referred to Linux "being a cancer". The world has - fortunately - changed since then and so did Microsoft over the years. According to my opinion, Redmond is doing a real great job with Windows 10 and especially since Satya Nadella took the wheel from good old Steve. While venturing through the worlds of Windows, macOS and Linux combined I always used to have some tools within reach. Tools that helped me to build a bridge from one OS to the other. One of those tools was PuTTY when trying to manage Linux-systems from Windows-computers.

I used it over the years and always asked myself why Microsoft hadn't implemented a SSH-client by default like Apple did with macOS. Lately I discovered that this assumption wasn't correct anymore: Since the Windows 10-update from October 2018 (Build 1809), SSH has - more or less silently - become a part of Windows 10. By far it cannot mess with the GUI PuTTY comes along with but hey: I did not need this on macOS either. Sometimes all you need to connect to your Linux machine or your home Raspberry Pi is a simple shell command. Here you go - open the prompt or PowerShell and type "ssh": Without any commands, a list of all possible commands is displayed!

SS... what?

How to handle SSH-keys

Now let's assume that you already like the feature but wonder how to connect to your target by your own SSH-key instead by "simple" password authentication? It's quite easy as well - first of all you need to generate a specific key for your Windows-machine which is done by the "ssh-keygen"-command:

After answering questions like passphrase etc. all relevant data is being stored in the .ssh-folder of your current user. The "id_rsa.pub" is the keyfile you may use or hand over to a client - just in case you are managing his system and want to authenticate with your key of course!

Get your key

As the "ssh-copy-id"-command we know from macOS and Linux seems to be missing, we need to copy the content of this file to the authorized_keys-file on the target machine. Just in case you are managing this target host from two different clients, just add the content below the existing one. That's it!

There's an OpenSSH-server, too

By the way, if you want to play around with Microsoft's own implementation of an OpenSSH-server running on Windows 10, you may also install this one as an additional feature. But beware, it is not working as expected and currently rather in Beta-state. Further information can be found here!

I stumbled upon this feature by pure coincidence but it finally has everything I needed on my Macs for example. While PuTTY is still quite great when it comes to many different options and bookmarking your SSH-connections, it's the simplicity here that counts! Let's assume you just want to fire up a single shell command and connect to a remote site from a Windows-system than this is your chance!