Comment by joeyaiello

8 years ago

Hey there, everyone! I'm the PM for this project, and it looks like I'm a little late to the party, but I wanted to drop in some notes to add to the discussion:

* we also shipped OpenSSH's sshd server, but it's a little tricky to configure right now. Expect a blog post this week. * This is not production-ready in the current version of Windows 10 (hence the "(Beta)" in the label), but we hope to be soon. * All of this is being done in open-source out of a fork at https://github.com/powershell/Win32-OpenSSH (code work is technically checked into https://github.com/powershell/openssh-portable/ first, but those will be consolidated at some point). Check the Wiki there for a ton of info. * We've been working closely with the official OpenSSH Portable maintainers to get upstream at some point in the future. They've been awesome to work with so far, and we're really looking forward to moving Windows onto the definitive SSH implementation of the world.

This is been a super fun project to work on over the last couple years, and I'm glad that there's such a groundswell of excitement around it. Like I said, I hope to be publishing a lot more documentation/material on our plans as we get to a production-ready state.

I've also been super swamped with the release of PowerShell Core 6.0 [1] for Windows/macOS/Linux coming early next year, hence the lack of a good release announcement on these beta bits...Thanks to Patrick Kennedy for finding it and letting everyone know! :) )

[1]: https://github.com/powershell/powershell

Having no idea how an SSH server is intended to work on Windows, I have a question:

When I connect to a Windows box running an sshd, what exactly happens? Do I just get dropped into a command prompt or PowerShell session or what?

  • It drops into cmd, but it is configurable (and there's actually a Chocolatey community package for it that I believe prompts you for which default shell you want at install-time).

    With PowerShell Core 6, we also support PowerShell Remoting Protocol (PSRP) over SSH as a transport, which means that you can do stuff like New-PSSession and Enter-PSSession without WinRM. (PowerShell just gets registered as a "subsystem" of sshd, same thing sftp-server does.) You can check that out here: https://github.com/powershell/powershell/tree/master/demos/S...

Nice work. Is it fair to ask for even a ballpark answer on what the licensing story will be?

Windows Client Access Licensing is annoying, but they have some web exception for web servers. SSH remote access is a whole new ballgame! I assume it is encouraged for one-at-a-time administrator use in much the same way Remote Desktop currently works, but even that isn't really communicated clearly yet (even from a high-level perspective).

It seems like getting the plans out there as soon as possible to begin collecting feedback and managing expectations is going to be win-win for everyone.

I am having difficulty creating a new keypair using ssh-keygen.exe and a passphrase - should this be working? I receive the error ``Saving key "[...]/.ssh/id_ed25519" failed: invalid argument''.

It works fine without a passphrase.

  • Haven't seen that error message before but I highly encourage you to use our GitHub builds where we've fixed a ton of issues related to path parsing and VT100/ANSI compatibility.

    Those builds will also be showing up in Insider builds over the next few weeks (if they haven't already).

  • I had the same issue, plus -t rsa didn't work, and my existing keys weren't accepted anymore. I ended up uninstalling it.

    • As part of the beta, we only support crypto algorithms that ship as part of OpenSSH itself, as opposed to algorithms that ship in OpenSSL/LibreSSL. Hence, we only support ed25519 in Fall Creators Update.

      If you grab our GitHub bits, we compile against LibreSSL there, and you should see LibreSSL showing up in future Insider builds of Windows. That brings support for all the other crypto algorithms you'd expect (RSA, DSA, etc.)

Does it work with older Windows versions?

  • Yup! We support down to Windows 7 and Windows Server 2008R2. You just have to install the bits from GitHub (but they're actually more up-to-date because we can ship there a lot faster).

  • Probably not. The Windows Subsystem for Linux was introduced with Windows 10.

    • This is a win32 port of OpenSSH, it does not use Windows Subsystem for Linux. WSL can already run Ubuntu elf-binaries of ssh.

Will this support network drives? That has been a sore spot in every ssh on windows attempt I have seen so far.

  • What kind of network drive support are you looking for specifically?

    If you mean, "interact with them from an interactive shell like cmd or PowerShell", yes, you can absolutely do that. Our implementation literally stands up a console host on the server side, so whatever you can do in that console host with the privileges you have, you can do over SSH.

    If you mean, "do you support SCP and SFTP for transferring files in a network-drivey way" the answer is also yes. SCP is supported directly against sshd, and we ship both an SFTP server and client.

    If you're talking about something NFS or SMB related, I'd be curious to hear more details.

Nice one! Now, can we get a terminal with tabs? Will that be a thing with the new windows tabbing approach?