← Back to context

Comment by 6c696e7578

1 year ago

I am truly behind the times. I didn't know you can ssh into a Windows system.

Since windows 10/windows server 2019 afaik.

https://news.ycombinator.com/item?id=15904265

  • Thanks! It always bugged me that Windows didn't have a sshd, since it's so popular outside of Windows. I thought the reason for it not being added would be admitting a failure somewhere - RDP not winning or something. Seemed odd to prevent a way into Windows Server.

    • No. It was a fundamental conceptual difference in the operating system. After Xenix, Microsoft did not use a terminal paradigm in its operating systems. They all had a "console" paradigm, where instead directly attached VDUs, keyboards, and mice had explicit API support as first-class devices. Because they targetted "personal computers" where one knew from the firmware up that the machine had a VDU, a keyboard, and (possibly) a mouse.

      * https://jdebp.uk/FGA/tui-console-and-terminal-paradigms.html

      For a long time, so long that I had a widely used 2 decades old Frequently Given Answer about it, Windows NT had no way to capture console I/O, no way of waiting on consoles for buffer changes and to inject back-end input events. No way to do what a SSH server would need to do in order to capture and send/receive that I/O over a network.

      Then along came Windows Terminal, and I finally got to change the answer in 2018.

      * https://jdebp.uk/FGA/capture-console-win32.html

    • RDP is still the best remote desktop protocol - so much so that Gnome on Linux uses it for desktop sharing.

      But, of course, it's a remote desktop protocol. Meanwhile Windows Server has been steadily moving onto command line & PowerShell for system administration for the past 12 years or so. The bespoke solution for remote admin has been remote PowerShell for a while, so ssh is arguably competing with that.

You can also run a ssh server in WSL2. You'll need to proxy connections to it or run a vpn though to have it visible from the outside. I use tailscale.