Hi! Microsoft is currently incorporating OpenSSH into Windows. Link: https://arstechnica.com/gadgets/2017/12/microsoft-quietly-snuck-an-ssh-client-and-server-into-the-latest-windows-10/
Let's start using it.
Small addendum: the OpenSSH version distributed with Windows 10 is somewhat out of date already and can always be replaced by what is available at https://github.com/PowerShell/Win32-OpenSSH.
I assume that using the OpenSSH client directly is not as straight-forward as it appears, because Rebex.NET is both an SSH client and a terminal emulator, whereas OpenSSH is just the former?
(The same is true for PuTTY, with the added pain of re-parenting a foreign processes' window thrown in.)
I.e. you'd still need something to actually host the OpenSSH process within RoyalTS?
I'm not sure if the modern, soon-to-be-default Windows Terminal provides any help here. It does have plenty of APIs and (as far as I can say) good documentation.
I'm not sure if it would be worth the effort.
I certainly would like to get rid of the problems the re-parenting of PuTTY brings.
Rebex would do that, but it is far less feature-complete than PuTTY.
We do regularly check the Microsoft Terminal source. Right now, it's not that easy to integrate it in other applications. The integration samples are basically code snippets taken from Visual Studio (WPF) integration which has poor performance and is far from what the Rebex based terminal can do. They do have plans to make an embeddable component at some point but there's no timeline for that. Once they have something which would work, we will try to make a plugin based on that component.
One thing that would be lovely is support/integration with the ssh-agent for private keys
I'm not sure what you are asking exactly. OpenSSH for Windows (server and client) are separate components which can be installed and used as application/service. While we do have the possibility to incorporate external applications (for the client) similar to PuTTY, it's not the same as implementing a component with "managed" development APIs, such as Rebex, for example. As far as I know, there are currently no managed API bindings which would make it hard to use in an application such as Royal TS. I'm wondering what you would expect from such an integration or what is missing the current components we're using. Can you elaborate?