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! :) )
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''.
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).
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).
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.
I don't sit within the console host team, but I do work very closely with them and their PM Rich Turner is very active on Twitter (@richturn_ms). They're tracking the (very popular) request for tabs at https://wpdev.uservoice.com/forums/266908-command-prompt-con...
These days you go to the Microsoft App store and download Ubuntu. It loads up actual bash and comes with everything you'd expect. (ssh being just one of the things). The terminal emulation is improving (there are still a couple of glitches) but pretty much all of my daily tools work exactly correctly.
When I bought my first Mac, back in the days of MacOS 10.2, I did so because of the BSD system underneath. Having a Unix system, whether its GNU or BSD, gives me access to tools that I'm familiar with and sometimes prefer to their GUI counterparts (e.g., scp/sftp vs FileZilla).
Now that Windows has this, switching back is something that I'm giving serious consideration to.
I've been using WSL + wsltty [1] + Xming [2] for months and didn't encounter major issues. wsltty also added support to the Microsoft Store version recently.
For Xming, simply set DISPLAY in shell and local GUI programs just work, as well as SSH X forwarding.
I tried this, but I found that my Ubuntu subsystem could not access my wifi connection at all, no matter what I tried. I remember reading Microsoft forums where developers from Microsoft acknowledged they were working through the issue. It still hadn't been resolved the last time I checked.
I haven't done this yet, thanks for the reminder! I've been curious to try it as I've gone through probably every other bash emulator on Windows and not been overly satisfied.
Have you looked at Mobaxterm at all? I have the same issues, and accidentally discovered this a few years ago, and haven't looked back. Lightweight Cygwin install, own package manager, EXTREMELY usable. The free version is plenty good, but even the paid for version is 'only' $80.
I second this recommendation. It’s a really great tool; I really like the combined SSH and FTP integration so I can browse and edit files with my favorite text editor on the machine I’m ssh’ed into really efficiently while also running commands at the same time.
I wish Cygwin performed better on Windows, git operations on Linux take minutes on Windows because it has to spin up the whole cygwin environment. This kind of still makes me want to use Linux, but MobaXTerm makes my Windows desktop very usable for administration.
Neat. I wasn't aware Git client had this much feature. On Windows 10 I have "Bash on Windows", but on older systems (such as Windows 7), Git client would do the trick.
MobaXterm is nice, but I don't like how heavy it is...
WSL has exited beta on the mainline release. You can now install Ubuntu/Suse from the windows store. Look up the processes to extract data from your current wall, unintall the legacy edition and get the new addition. It's not clear yet how the legacy version will be impacted it may be easier to migrate sooner rather than later
Yeah, but doesn't Putty force you to use it's goofball ssh keys? With git bash you can use regular ssh keys. And, you can generate them the way you're used to (assuming you already use Linux). Idk, I think git bash works just fine in most cases.
I really miss ‘git bash here’ from File Explorer when I’m on my macbook. Why it doesn’t have open terminal here/open iterm here I don’t know. I used to have an AppleScript thing to do it for iterm 2 but it got broke and now all I can find is a button in the finder window.. but it really should be built in.
I'm not entirely sure what you are trying to do, but if you leave the terminal icon in your Dock, dragging any folder from Finder onto it will launch terminal in that directory. Any good?
I used to use Cygwin but it became a pain to manage the packages and it couldn't update it's own setup.exe last I checked.
I recently tried out WSL and I still run into problems with the file system. My home directory is in a new place which is kind of annoying. And cloning a repo with Git changed all the line endings. autocrlf didn't do anything for me either.
Git Bash is based on msys/mingw which have been around a while. I think both mingw and cygwin will both be deprecated in favor Windows Subsystem for Linux.
Highly unlikely. You'd only deprecate them if they serve the exact same purpose, but they don't. Many users will switch, but not those who want a posix runtime environment for a win32 executable that can run on machines that don't have WSL installed (cygwin, and the fork msys2 which git-bash is based on); or to use the gcc compilers to target win32 executables that use the windows native (non-posix) runtime - mingw. Do you know that you can use gcc to build windows executables and dlls from Linux, Mac, or WSL? That's mingw and it's not going away.
You'd better believe that if Windows had an acceptable terminal 10 years ago I would have never purchased my first MacBook.
The pleasant interaction with other *nix systems was and is a primary driver for my choice of OS X.
PuTTy sucks. Every other terminal I have tried on Windows sucks. Getting terminal-based software to work on Windows sucks. I stopped trying years ago because a terminal on OS X doesn't suck. It might not be a perfect 10, but I'm happy with it.
I'm also more interested in Windows more and more as time passes.
Losing as the most popular OS has made Microsoft start doing some of the right things.
Can't agree more. This was also what made me to buy my first Mac: the fact I have a natively supported terminal (that's blazingly fast), with ssh client (and server too, whenever I need it), with shell that's not some kind of ugly hack (geez, CygWin nightmares) and BSD userland tools at my fingertips is the quality no computer/OS maker can deliver up till today, so despite being displeased with some recent design choices (I love my 'old school' Mac keyboard, I love my MagSafe adapter, I love my 2015 MBPR ports and form factor, thank you) I keep buying Macs.
I'm a Linux guy myself, but whenever I see colleagues use a terminal on Mac OS or Windows, the amount of little annoyances on Windows really sticks out. It's nothing major (hard to configure colour schemes, awkward copy/paste operations, PuTTY), but it compounds to an unpleasant experience.
This. 10 times this. I moved to MacOS 10.3 in 2004 because the things I did professionally were almost all in Linux (which I had been running in the data center literally since 1994), and MacOS felt and acted like Linux with a nice GUI. I lived most of my life in Terminal and rarely noticed the difference between when I was ssh'd in to a server or working locally. Awesome stuff.
I doubt Windows 10's inclusion of ssh alone addresses this use case; for that you'd want a full cygwin or something. I don't know anymore - I don't use Windows for any purpose other than games on dedicated gaming computers these days. Despite Apple going backwards with each successive macOS release (probably since 10.8) it's still a much more usable OS for the majority of the things I do than Windows 10. I do like Windows 10 better than Vista and 7, though, on my current gaming computer.
Never been a problem for me. What are your complaints?
I barely notice the difference, but if I had to choose I'd take putty over Terminal.app, which has default keyboard-shortcuts that clash with Bash. (I believe it was Alt-b, Alt-d, or maybe Alt-f. I forget exactly.)
The big problem is the filesystem is still vastly different.
The web, Unix, Linux, OSX, pretty much everything other than Microsoft uses properly namespace driven forward-slash separated paths with no drives and case sensitivity.
That you can't fix, merely abstract it away. I am tired of mapping between the two.
> Losing as the most popular OS has made Microsoft start doing some of the right things.
While Microsoft has started doing good things which I can agree on, when did they lose OS market share to the point of not being number one? If we're talking about Apple hardware outselling any one vendor, that's true, but there's volume. Also, one of the first things I did after getting my MacBook Pro (and others I know who don't want to leverage VMs/Parallels. I like Windows and OSX being separate from a context point of view) was dual boot Windows.
Check out MobaXterm ( https://mobaxterm.mobatek.net/ ), it's the best terminal for windows I ever tried. Have a really handy list for remote connections, an X server, sftp browser for connected servers, Linux Subsystem fro Windows support, and a lot of other useful features.
(I am not connected in any way to the developers)
I've recently discovered cmder and it actually makes Windoze bearable to use. Of course I would never give up Linux if it were my own choice, buy work is work. So they've got an SSH client at last, but still no decent terminal, I suppose.
I think the question is not whether someone would buy a MacBook because it has these tools built in but rather, why would someone buy Windoze given that it doesn't have these tools built in?
If you think PuTTY is even half the environment bash+ssh is, you probably won't understand what the people buying Macbooks, or using Linux directly on Whatever{books,tops,pads}™ are getting from their choice.
Not trying to be condescending, but it seems to need highlighting that just having SSH access isn't enough.
Not to mention that these other environments have offered other benefits [especially] to developers looking for a programming environment that works for them. The VS.Net IDE-play-button approach to automating testing and deployment doesn't scale for everybody.
> I really can't believe somebody ever bought a MacBook because they found installing putty too much of hassle.
No, but something like installing putty was the last straw.
Putty is a terrible experience; very difficult to use. It's like every misstep or disconnection involves a dozen or so clicks back into the configuration area to "try again". This feels like normal on Windows though.
I recently tried to port my workflow to Windows for a year, but I eventually gave up simply because of something like this. I might've made it 6-7 months and I can't recall exactly where it was, death from a thousand cuts maybe.
Hat's off to you, I didn't even make it that many weeks.
Between filenames/paths being too long, poor terminals with janky colour schemes (save for Mobaxterm, it's great), WSL issues (like umask handling), gvim/vim issues with plugins, and loads of other annoying bits I just went back to Linux.
Linux is FAR from perfect, especially as I have an Nvidia graphics card, but there's a lot to like there too. Having run Fedora 27/Ubuntu 17.10 I've found I really really like Gnome. I seem to be in a club of one there (and it's buggy as hell on 17.10) but for me it's been great to use.
Not that I wouldn't use Mac if I found a couple grand down the back of the sofa, but as a daily driver Linux has been less painful. Even on the laptop, though I do have one of those Dell certified ones.
Normally you have a fully-fledged programming language that sometimes runs
a command being SSH client, and universal one at that (you can pipe data
through it, you can pipe data out of it, you can run remote commands
non-interactively with it, you can jump through SSH on other hosts with it,
you can set up TCP tunnels in ad-hoc manner without going through the
configuration, and obviously you can run an interactive shell). Plus you get
scp for file transfer out of the box, and lftp (which understands sftp
protocol) and rsync after installing some barely related software, all of them
still able to jump through other hosts.
Now compare it to the glorious ability to open a window with remote shell (and
only direct one, no jumping through a bastion host), and maybe a TCP tunnel
with some clicking through every single time (you can't recall the history of
commands, because there was no command in the first place; the best you can do is
to save the tunnel configuration permanently). And maybe file transfer if you
remembered to download PuTTY's scp client.
You can do all that stuff using Cygwin at least as far back as 2005, because I was running Unix dump and rsync through ssh from a Windows backup server back then. Cygwin eventually adapted PuTTY as its terminal emulator too, in the form of MinTTY.
You can do SSH proxying with PuTTY, too. It's just called something different:
Of course it's easy to straw-man this particular sentence. However many people - including me, once - bought a MacBook because it was the easiest way to get proper Unix tools like SSH at your fingertips.
Using PuTTY or Mingw tools on Windows sucks compared to using them on a Unix-based system. I gotta say the Windows Subsystem for Linux really helps in that regard - as does native SSH in cmd an PowerShell (PowerShell by itself is also pretty awesome once you get the hang of it). Linux did not use to be such a great competitor for the rest of desktop usage (some will argue it still isn't).
It's not only about this, you needed to install more and more things every year in windows for it to work. You needed to install Cygwin, a proper terminal (cmd.exe isn't exactly usable), python libraries, Putty, now Docker... Not to mention that since developers are only using Linux and Mac, you will have libraries which does not work on windows (because nobody even tried).
Depends, for the occasional deep into CLI world to run a script, is quite ok.
Granted, the defaults regarding mouse copy-paste and window size were only improved on Windows 10.
> Not to mention that since developers are only using Linux and Mac, you will have libraries which does not work on windows (because nobody even tried).
Not all developers are pure UNIX devs doing POSIXy stuff.
Also, it's not like you don't need to install iTerm, zsh, docker, python libraries etc on mac. It's not like it comes with them by default. Your argument is kind of moot.
Given how critical good terminal experience is to modern IT the fact that putty is the go to tool for this in windows is a bad joke. Not to put down putty.
From the point of resourcing, I mean. Here we have Microsoft on a gazillion dollars of capital and one of the most critical tools for several people is developed by a single talented hobbyist who gives it for free.
Not to disagree with you on anything but same gazillion dollar company is now doubling down of a Javascript code editor because writing high quality native code is so difficult and expensive.
I have a Win10 XPS13 after 15 years of OSX. And Putty is bad. Not the ssh, but the tool support. And it's not only SSH but the missing shell. I currently use Ubuntu on Win10 just to use a proper shell with ssh.
And of course my next computer will be a MacBook again.
I can. Putty sucks. For a decent key management you need cmder + keypass, and i doubt people want to waste the time i did to experiment until they arrive to such conclusion.
> I really can't believe somebody ever bought a MacBook because they found installing putty too much of hassle.
I'm one of these somebodies.
It's not that installing Putty is a hassle, but my choice to buy a MacBook was very heavily driven by the fact that macOS is Unix based. My time spent between Windows 10 and macOS is pretty even, but it is a much more enjoyable experience to develop in macOS partly because of the Unix-based shell.
putty isn't a great client it just that it worked. I personally haven't used putty from a windows machine for over 5 years. I use cmder and just use it like I was on Linux. http://cmder.net/
Well not just ssh but I did leave Windows for Fedora because Windows lacked a solid terminal emulator and all third party ones did was act as a wrapper around cmd.exe which solved some UX issues but not the core limitations of cmd.exe itself.
I bought a MacBook because the terminal on Windows, including PuTTY, is just.. bad. It's my main environment, I want it to be top notch. I'm shocked I've yet to see something that feels like iTerm2 on Windows.
Maybe not, but having used both Putty and ssh (Linux) for many years, I'm so happy I don't have to run Putty again. I stopped using it at the end of 2008 when I reformatted my work laptop to Ubuntu. Not only Putty is a worse terminal than gnome-terminal but the key management was insane.
I swapped to mac for this very reason, actually. Now that windows has WSL, I've been straddling the fence on whether to swap back (tried it back in Dec., might give it another try soon).
I can't imagine (as the author asserts) that people left Windows for Apple because of the lack of a command ssh client. Here's a thought: If you need to spend time on Unix/Linux machines, why not just run that on the desktop? I've been Linux only for 10 years and have no issues. OK, I do need Windows for the rare moments where I have to collaborate on Word or PowerPoint documents; Win in a VM (KVM/QEMU) gets the job done.
Does this new client support ssh-copy-id and passwordless logins? I have a couple of public-facing machines that need ssh; I refuse to enable password authentication as they'll get banged on all day!
It was foisted on me, but I created a group in our approved software policy with just me in it, added Virtualbox to the group and managed to get the change request signed off! I use Ubuntu now for everything but MS Office and the dreaded ERP client.
Obviously somebody in those corporations chose it.
Running a large fleet of non-Windows computers means writing your own software to manage them, just like Google had to do [0]. Not every business wants to do that.
Part of this though is because software was historically built for windows in a way that it isn't anymore. Even at tech companies, where the majority of employees are using macbooks, you'll often see people in the finance department using windows machines.
I imagine as the growth of SaaS continues we will see less of this, especially because it's much easier for the IT department to manage one type of computer where macs tend to have a higher build quality than most windows based machines.
I'm working now to move my Win 8 install to a VM then I can format this damn machine an install a real OS. All I need Windows for really is Skype and MS Teams.
I know lots of developers who use a Mac specifically because it is a Unix system with normal Unix tools that can also run lots of commercial desktop software.
> I can't imagine (as the author asserts) that people left Windows for Apple because of the lack of a command ssh client. Here's a thought: If you need to spend time on Unix/Linux machines, why not just run that on the desktop? I've been Linux only for 10 years and have no issues.
I find it really convenient to run the same OS on my laptop, as on the servers I administrate.
Others probably feel the same, and I suspect that was the GP's point as well. :)
Also, almost nobody care about Unix certification. Linux isn't certified, and except for really niche things, Linux is all that matters (if you aren't running Windows).
I think their point is that there's no point in trying to force Windows to behave like a Unix when you can just use a Mac or install/dualboot Linux. There are a lot of reasons (fascism-based IT department, can't afford a Mac, etc.), but it's a good point. Once I stopped trying to trick Windows into working like Linux and just freaking installed Linux, my workflow became SUPER smooth.
Usually people who work for Corp or Government can't choose the OS their organisation supports. You can be actually happy if your windows is as modern and free that you can install something like git-bash on there (and then of course you work on a Linux VM that is hosted somewhere in the office, or AWS or similar)
I’m going to try this out, but if you’re using Windows 10, you can install WSL, which has all of the normal SSH commands, and definitely supports using keys for SSH.
I don't know about ssh-copy-id but it definitely supports passwordless logins. You just need to set up ~/.ssh directories as you would on other systems, and ensure the correct file permissions are set. There's a Powershell script to help with that.
> If you need to spend time on Unix/Linux machines, why not just run that on the desktop? I've been Linux only for 10 years and have no issues.
Because at least for Linux, its desktop support is still severely lacking. Maybe it's the distribution I was using (Ubuntu), but all i wanted to do was hook my laptop up to my monitors and use the external monitors alongside my laptop monitor, like I do on Mac or Windows laptops.
I failed.
I remember hand coding an XFree86Config file almost two decades ago to get three monitors setup.
So yeah, that's why I don't work with Linux on the desktop. Because it doesn't work for me on the desktop.
Just as another anecdote, I use my Linux laptop with an external monitor every single day. Even have StumpWM configured with keystrokes to switch between portrait and landscape modes (using arandr).
I find the free version of Office 365 is often sufficient for collaborating on Office documents without needing Windows, although they've intentionally left many features out so it isn't a complete replacement.
Ultimately this probably helps increase the overall internet security. Although in recent years it was available from a TLS secured source [0], the putty.org site (which might or might not be operated by the maintainers) is still not https secured. Given that probably tens or hundreds of thousands downloaded it from there (imagine, getting an SSH client from an unknown source!) I'm surprised not more happened.
Other than that, thanks for the great work maintaining this project which helped me and others a great deal throughout my career. Countless times have I been stranded on a Windows server and quickly needed an SSH client.
Putty binaries are all signed, which is what you should be looking at when authenticating a release. Whether you fetch them over SSL is of little importance.
You are, of course, absolutely correct. And I hope this is what internal package maintainers in large companies and individuals using putty as their standard SSH client do. However, for many of us putty is a backup when they are not on their linux/osx machine and just quickly need an SSH client to do something. The workflow there is google->putty->first result->download->execute. You absolutely shouldn't, but we also shouldn't drink and sleep 8h a night :)
If open source isn't a requirement and you want a polished GUI client, https://www.bitvise.com/ssh-client has been free as in beer for about 1.5 years. It will be tough for them to beat being part of the default install!
Bitvise sells a solid Windows-friendly SSH server for $100. I am not affiliated apart from being a happy user since before OpenSSH supported AuthenticationMethods (multiple required) in 2013; it has been my straightforward licensing alternative to Remote Desktop Gateway.
Thanks for pointing this out; I'd forgotten about that (having given up on Putty after discovering the difficulty of sharing configuration https://stackoverflow.com/q/13023920).
Putty.org links to the Putty download page with a disclaimer separating promotion of Bitvise software below. The contrast in marketing language between "source code [...] developed and supported by a group of volunteers" vs. "developed and supported professionally" definitely appeals directly to the Windows mindset! Unfortunately Bitvise's "growth hacking" makes commercial sense, even if it does cost them potential users.
My main issue is the terminal emulator. MinTTY is the only I can get to work like I want with colors and fonts, but I still miss ligatures and the performances are bad.
I'd really like something faster with full color and font support I can SSH from.
I use it to change my colors depending on the machine I am on. If I log onto a production server, the color scheme switch to high contrast with red background.
Have you tried this out in recent Windows releases? We added 24-bit color support [1] to the console in Sep 2016, and built a colortool (that supports solarized) this summer [2]. Most of this should work, and we're all ears for things that don't.
I'm interested how well the client works under cmd.exe. Last I tried to use ssh via cygwin, I remember having a lot of issues with escape codes not working, to the point that I had to go ahead and install puTTY anyway, just because it was a much better terminal emulator. Microsoft has neglected their terminal emulator for 20 years now[0]. I hope they improve it soon. I'm aware that some cosmetic features were added in Windows 10 but frankly it still sucks compared to even the most basic Unix terminals. Making the terminal a first class citizen in Windows would do a lot to win developer market share.
Windows Console has improved a lot since Creators Update, adding built-in support for many VT escapes (including all the common ones) and even 24-bit color in the console. They're doing their best to make it first class for developers. You should follow the command line team's blog: https://blogs.msdn.microsoft.com/commandline/
Oops, that was supposed to be a a footnote (just my acknowledgement that there had been some changes to cmd for Windows 10), but I decided to put it inline. Can't edit with the HN app I'm using currently.
I know all about the alternative terminals for Windows and none of them are much better. ConEmu feels so hacky and way out of scope for what it's supposed to be doing. Does it still require Administrator, and hook directly into the framebuffer?
If you do not want to watch go to “Manage Optional Features” then + “Add a feature”. You can then scroll down the list and find the OpenSSH Client (Beta) and OpenSSH Server (Beta) features in Windows.
Do you really need a video when the installation instructions are 2 sentences?
Even if the installation instructions are more than 2 sentences, I absolutely hate if video is the only documentation method. It has its value as a supplement to a text description, but not without the text.
(The worst offender that I've come across for this stuff is Minecraft mods. I want to know how this machine block works, not watch you chat about random stuff for 30 minutes hoping that the explanation is somewhere around minute 19!)
Yeh, at least provide a command-line method of installing it.
If you're the type to install ssh, I'm guessing you're not a typical Windows user who is horrified by the command-prompt.
As someone who makes online training courses, the whole putty dance for Windows was so cumbersome. This is excellent news.
Personally I would recommend anyone on Windows to use WSL (which supports ssh and scp out of the box) but it's nice to see this is available for people who don't want to use WSL.
Although it's appreciated as a UNIX admin I can honestly say I don't use Windows by choice but because my enterprise says I must. That's partially because all the productivity tools are found there and partially because the desktop guys are massive Microsoft bigots and refuse to host anything else. (It's OK I can say that as a massive UNIX bigot and besides they'll tell you the same.)
And frankly with the tiniest bit of effort I can crank up a local xterm and then ssh which gives me lovely things like color, font choice, easy window size changes and thousands of lines of scrollback. Why in 2017 would I want to use a bare naked ssh client unless there is simply no other choice?
Default packages are extremely important. That you can walk up to any computer and get work done without installing anything, even downloading putty.exe is far too much effort in some cases. Also it is kind of rude to just download and execute things on friends/colleagues computers ad hoc.
If this will be installed by default it will be awesome, and imho even the process described here by enabling a feature is still better than putty.exe (it will get managed by windows and updated if need be etc.).
For my own windows computers though, the first thing I install is WSL and a proper terminal app (cmder).
Yeah it's handy to have by default, no doubt. But unless it also includes all the other client modes as well (scp, sftp, etc) and all the features found in Putty to boot I think the author's conclusion that Putty's days are numbered is a bit unrealistic.
I will say if this includes active directory integration so that ssh'ing from a windows box to a kerberos-protected unix one that could be slightly helpful. And if not that's just another reason to keep using putty. LOL.
Ever since Windows 10 was released, you could download and install the OpenSSH client. It's great that Microsoft has actually built this in now (even if it is beta).
I don't work for Microsoft, but my guess would be in order to securely access a shell. (Remotely, but srsh doesn't roll off the tongue)
Honestly though, I'm more interested in an SSH server for Windows. I haven't tried for many years, but last time I did, getting something more secure than telnet was a massive pain.
What I'd really like to see is an OpenSSH server for Windows. My biggest gripe is not being able to SSH into a Windows machine and use one of the 3 major shells available now (cmd/powershell/bash).
If it doesn't have to be OSS, Bitvise have one that is free for personal use, otherwise available under a commercial license.
Ive been using it for probably > 5 years, and it's been rock solid.runs as a Windows service, supports both Windows and custom credentials, comes with a nice GUI configuration tool too, can highly recommend it.
I prefer installing OpenSSH from Chocolatey instead, since that way I know I'm getting every month's updates. I've been using the sshd for a year now on my media server, and have the client on all my machines. It's pretty solid, although I do have one ongoing issue related to how ssh-agent works (instead of emulating UNIX domain sockets it uses Windows named pipes, and I can't make a working proxy for Windows gpg-agent to replace it so I can use my smartcard for SSH).
This is well and good but I wish Microsoft would take a strong stance on corporations launching MITM attacks on their employees' HTTPS sessions by injecting their SSL certificates on every session. I can understand corporations blocking sites like facebook but I don't see why they need to read everything I read on the web.
Sounds like an issue for lawmakers or HR are your workplace, not Microsoft...
Microsoft is a technology company, they aren't in charge of the HR or management at your workplace and consequently shouldn't be trying to fix HR issues using technology. There's plenty of legitimate uses for MitM-ling TLS, and in some circumstances even that is one of them (e.g. on hardened networks with VPN endpoint interconnects).
Back in the late 90's I used to carry a memory stick with VNC and putty upon that I use to tunnel a VNC connection over SSH to my home network and oven over bonded ISDN (128k which I had at the time in the UK) it was more than usable or attaching to any of my systems.
Then Cygwin came of age, proved very very very useful for adding the tools windows corporate desktops missed out upon for work related activities.
But in all that time, PuTTy has been a very good terminal client for SSH needs. Whilst it is good that Microsoft is adding this, it has never been a hurdle for many and those who run into a corporate wall that tough, have always been able (from the ones I've worked with and collegues) been able to circumnavigate around it :-
Usually using the corporate security policies to bash the corporate desktop witch upon the head. Fight fire with fire if you can't bend the rules.
For those who like -- and prefer -- GUI, Putty (or any other GUI based SSH client) will remain king. For the rest, this is very good news. It is the same client many have been using for many years under their Unix alike OS, just on Microsoft Windows.
Point being, those who wanted SSH or unix tools under windows - there have always been options, even with the most zealous of corporate desktop policy that I have encountered and in the worst cases, you can use the corporate security policy to make that happen.
If one's necessities are not limited to an ssh client, Cygwin has been available for years, is free software, and has a very good integration with Windows (you have read/write access to the whole filesystem, for example, something presently cannot be done with win10 subsystem for Linux)
According to the MSYS2 devs, MSYS2 is slightly slower than Cygwin, and it has a significantly different project objective, leading to much reduced command-line environment:
MSYS2 provies a minimal shell required to run autotools and other build systems which get the source for software from the Internet from different repositories, configure them and build them. The shell and core tools exist mainly to allow porting Unix programs to run natively on Windows (i.e. without requiring a POSIX emulation layer). MSYS2 doesn't try to duplicate Cygwin's efforts more than necessary, so the number of provided POSIX-emulated software is very small.
(I recommend Cygwin, I've been using it for 15 years or so, and have access to almost everything I've ever needed from Linux command line. The slowest thing is forking; emulating it in Win32 executables is not easy on NT kernel. MSYS2 doesn't fix that.
Also, apt-cyg is pretty decent for installing packages on Cygwin.)
Yeah, they probably found out that sending the data from their own adware/spyware over unencrypted channels back to their own servers was too insecure. just kidding ;-)
No seriously: Congratulations MS and please evaluate again if you really need that extra money you make with your advertising deals.
So this is why Microsoft is such a leader in technology. After only 22 years, ssh is now in it's operating system! Wouldn't it be nice to have a monopoly that actually is innovative, rather than simply a lackluster follower?
The first thing I always installed in Windows was the gnu tools port. (unixutils?)
Now when I sit down at a Windows box, it's the Ubuntu terminal. Over the years, I've become pretty platform agnostic. However, having to change my keyboard shortcuts for Mac, and no single way to copy/paste in a terminal between Windows (double right-click)/Mac (alternate between middle-click, or right click and paste depending on the source)/Linux (good old middle click!) is pretty annoying. It's also annoying that the Mac uses a whole different button for copy/paste, and the Home/End keys don't work the same.
Haven't seen any discussion yet of the licensing aspects of accessing a Windows server via SSH.
Linking an independent Microsoft licensing consultant discussing fun terms like "External Connectors" vs. "Client Access Licenses" (CALs), the "Primary User of a Windows device" and the current "Web Workload" exception... maybe a new exception is on the way.
As a sysadmin who put up with MSs crap for many years, got fed up, and went fully gnu+Linux only...
Sorry Microsoft, too little too late, you are an anti-user company, and I hope your desktop share withers and dies. I'd rather see the world on osx cause at least it has a semi-decent gnu userland.
I smell blood in the water with moves like this. Its time to ramp up the attack people! Step 1: rip out AD and replace with Samba4. Step 2: windows servers become Linux servers. Step 3: non-office user terminals become Linux terminals. ...
So they finally got mouse selection working? Font size scales according to screen resolution? They must have woken up to the 21st century.
Thank you for the link, I had no idea. I haven't kept tabs on the recent developments. Not sure if I'll ever upgrade to Windows 10, but I keep it in a cage somewhere, so I'll take a look.
Next step: add recognition for foreign partition formats like HFS+ and ext4. Just recognition would be a great step, something along the lines of: hey we see there are partitions on this disk; are you sure you want to format this? This instead of: Do you want to format this disk?
I don't even expect that you can read or write to those partitions, which of course would be trivial to add for them. Just recognition would be great!
Microsoft is definitely other company nowadays. When I started on IT, more than a decade ago, they had a completely other market positioning and strategy.
Well, I gave this a try on my Windows machine. I tried to generate a key pair to pass around. I have yet to figure out how to give ssh-keygen a path spec it can write to. Even no path (just file name for the key in the current directory) fails with "invalid argument"
So on that note, anyone know how to report bugs on this? Cursory Googling isn't turning up much.
Last I checked bash on windows is still segregated from the windows system proper. So you cannot call any windows utility/compilers from windows bash. You cannot write to existing files/directories either, based on WSL docs.
Hopefully these limitations will be removed.
I needed to reboot to make the install of ssh work. Then I did `ssh linuxbox` and it tried to login me in as winuser@winbox@linuxbox instead of winuser@linuxbox. The -l option fixed that. The gtop command looked nice! - it didn't on putty.
For the love of God, I cannot get ssh-add working with passphrase protected private keys. If there is no passphrase protection on the private key, then it works fine. I guess this is what beta means ;-)
I'm not sure how useful this is by itself. It's cool that it's there for convenience, but I think I'd rather stick to either Git on Windows or Windows Subsystem for Linux (WSL)
Holy smokes! Why did it take them that long? This is why Microsoft loses so often. They crawl when it comes to innovation. Thank goodness for their surface line of products
Because they relied on software sales to businesses, therefore incompatible tools and vendor lock-in. They're now changing their business model towards IaaS/PaaS.
>This is why Microsoft loses so often.
Microsoft loses how? You might not like them but they definitely haven't lost anything.
> There is a new beta feature in Windows 10 that may just see the retirement of Putty from many users: an OpenSSH client and OpenSSH server application for Windows.
great to see you are including OpenSSH as part of your own OS, it's a carefully crafted piece of software that has a lot of appeal among users.
A nice follow-up is to generously contribute back to The OpenBSD Foundation. You were already a donor and, doing so, are helping further developments while being much cheaper than hiring a team all by yourself.
This seems like a small thing, but it's definitely not. As an admin one of the first things I always have to do is download Putty and pscp to whatever machine I'm on. It will be really nice to have these built in.
Also being able to tie this in with applications will be a huge bonus later as well.
Welcome to the 90's Microsoft. Glad you could make it.
No one has used telnet for over 20 years. The fact that it took Redmond over 20 years to incorporte an SSH client proves to me that they really aren't as security conscious as they claim to be.
you miss the point that the right ssh keys will be used by default. currently malware would have to search for and use the keys by itself.
now the servers will be on a gold platter, ready to be served
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...
1 reply →
Please say powershell... Please say powershell...
3 replies →
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 don't have a good answer for you right now, but we're tracking it here and I'll be responding back here with some info when I have it: https://github.com/PowerShell/Win32-OpenSSH/issues/926
Don't worry, you'll also be able to license your OpenSSH server per core (minimum 4 per-core licenses).
I'm joking.
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.
1 reply →
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.
1 reply →
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?
I don't sit within the console host team, but I do work very closely with them and their PM Rich Turner is very active on Twitter (@richturn_ms). They're tracking the (very popular) request for tabs at https://wpdev.uservoice.com/forums/266908-command-prompt-con...
3 replies →
When I have to work on a Windows machine the first thing I install is git: https://git-scm.com/downloads
It comes with bash and all the standard tools (including ssh IIRC), so I can work on a real command line. Especially as a vi user, I'm right at home.
I find this a lot easier to manage than Cygwin: a lighter install, no packages to select, and smoother integration.
These days you go to the Microsoft App store and download Ubuntu. It loads up actual bash and comes with everything you'd expect. (ssh being just one of the things). The terminal emulation is improving (there are still a couple of glitches) but pretty much all of my daily tools work exactly correctly.
For me, this is a huge thing.
When I bought my first Mac, back in the days of MacOS 10.2, I did so because of the BSD system underneath. Having a Unix system, whether its GNU or BSD, gives me access to tools that I'm familiar with and sometimes prefer to their GUI counterparts (e.g., scp/sftp vs FileZilla).
Now that Windows has this, switching back is something that I'm giving serious consideration to.
10 replies →
I've been using WSL + wsltty [1] + Xming [2] for months and didn't encounter major issues. wsltty also added support to the Microsoft Store version recently.
For Xming, simply set DISPLAY in shell and local GUI programs just work, as well as SSH X forwarding.
[1] https://github.com/mintty/wsltty
[2] https://sourceforge.net/projects/xming/
(EDIT: typo)
I tried this, but I found that my Ubuntu subsystem could not access my wifi connection at all, no matter what I tried. I remember reading Microsoft forums where developers from Microsoft acknowledged they were working through the issue. It still hadn't been resolved the last time I checked.
I'm on a Dell XPS 15 9560 if that matters.
1 reply →
Is there any advantages over using Ubuntu itself directly?
17 replies →
I haven't done this yet, thanks for the reminder! I've been curious to try it as I've gone through probably every other bash emulator on Windows and not been overly satisfied.
2 replies →
That's all fine and dandy until you want to develop Windows applications using Ubuntu on Windows.
There's still a place for windows native tools.
I install OpenSUSE Command line from the Windows Store.
Have you looked at Mobaxterm at all? I have the same issues, and accidentally discovered this a few years ago, and haven't looked back. Lightweight Cygwin install, own package manager, EXTREMELY usable. The free version is plenty good, but even the paid for version is 'only' $80.
I second this recommendation. It’s a really great tool; I really like the combined SSH and FTP integration so I can browse and edit files with my favorite text editor on the machine I’m ssh’ed into really efficiently while also running commands at the same time.
Another "me too!" for MobaXterm. Sessions in tabs, easy file transfer, built-in and automatic X forwarding.
I like PuTTY, and have used it a lot, but MobaXterm has been great.
Also love MobaXterm
I wish Cygwin performed better on Windows, git operations on Linux take minutes on Windows because it has to spin up the whole cygwin environment. This kind of still makes me want to use Linux, but MobaXTerm makes my Windows desktop very usable for administration.
Neat. I wasn't aware Git client had this much feature. On Windows 10 I have "Bash on Windows", but on older systems (such as Windows 7), Git client would do the trick.
MobaXterm is nice, but I don't like how heavy it is...
You should try WSL with cmder [1], a lightweight windows terminal that feels great and is heavily customizable. It’s the iTerm2 of Windows IMO.
[1] http://cmder.net/
2 replies →
WSL has exited beta on the mainline release. You can now install Ubuntu/Suse from the windows store. Look up the processes to extract data from your current wall, unintall the legacy edition and get the new addition. It's not clear yet how the legacy version will be impacted it may be easier to migrate sooner rather than later
or just install msys2. Works just as well imo, and can more easily integrate other packages as well.
It felt like x-mas when I discovered msys. The package management blew my mind. Getting a qt kit set up took about 1 minute.
Great wiki about set up and use here: https://github.com/msys2/msys2/wiki
3 replies →
MSYS2 is highly underated, it works perfectly and I cannot work without it now.
2 replies →
Yes! OOTB package mgmt...
The problem with gitbash is its way slower.
Plus, the real reason you get Putty or SecureCRT if you’re lucky, is because they are actually terminal emulators and not a DOS shell.
Sorry I don’t find Mona compelling at all.
Yeah, but doesn't Putty force you to use it's goofball ssh keys? With git bash you can use regular ssh keys. And, you can generate them the way you're used to (assuming you already use Linux). Idk, I think git bash works just fine in most cases.
1 reply →
Wow. Way slower? Git bash is just as fast for me. And MUCH more convenient.
you can install the tools into your global path so that you can use git's openssh from powershell.
I really miss ‘git bash here’ from File Explorer when I’m on my macbook. Why it doesn’t have open terminal here/open iterm here I don’t know. I used to have an AppleScript thing to do it for iterm 2 but it got broke and now all I can find is a button in the finder window.. but it really should be built in.
I'm not entirely sure what you are trying to do, but if you leave the terminal icon in your Dock, dragging any folder from Finder onto it will launch terminal in that directory. Any good?
1 reply →
Instead of ranting, perhaps post your broken AppleScript so we can help you fix that. It really ought to be < 10 lines of AppleScript.
This is what I do too.
I used to use Cygwin but it became a pain to manage the packages and it couldn't update it's own setup.exe last I checked.
I recently tried out WSL and I still run into problems with the file system. My home directory is in a new place which is kind of annoying. And cloning a repo with Git changed all the line endings. autocrlf didn't do anything for me either.
Back to good ol' git.exe
Git Bash is based on msys/mingw which have been around a while. I think both mingw and cygwin will both be deprecated in favor Windows Subsystem for Linux.
Highly unlikely. You'd only deprecate them if they serve the exact same purpose, but they don't. Many users will switch, but not those who want a posix runtime environment for a win32 executable that can run on machines that don't have WSL installed (cygwin, and the fork msys2 which git-bash is based on); or to use the gcc compilers to target win32 executables that use the windows native (non-posix) runtime - mingw. Do you know that you can use gcc to build windows executables and dlls from Linux, Mac, or WSL? That's mingw and it's not going away.
I have bash scripts within cygwin that control Windows firewall via netsh interface.
I still can't run those command under Windows Subsystem for Linux.
2 replies →
"For years, Apple MacBooks have been the go-to choice for many admins partly because getting to a ssh shell is so easy."
I really can't believe somebody ever bought a MacBook because they found installing putty too much of hassle.
You'd better believe that if Windows had an acceptable terminal 10 years ago I would have never purchased my first MacBook.
The pleasant interaction with other *nix systems was and is a primary driver for my choice of OS X.
PuTTy sucks. Every other terminal I have tried on Windows sucks. Getting terminal-based software to work on Windows sucks. I stopped trying years ago because a terminal on OS X doesn't suck. It might not be a perfect 10, but I'm happy with it.
I'm also more interested in Windows more and more as time passes.
Losing as the most popular OS has made Microsoft start doing some of the right things.
Can't agree more. This was also what made me to buy my first Mac: the fact I have a natively supported terminal (that's blazingly fast), with ssh client (and server too, whenever I need it), with shell that's not some kind of ugly hack (geez, CygWin nightmares) and BSD userland tools at my fingertips is the quality no computer/OS maker can deliver up till today, so despite being displeased with some recent design choices (I love my 'old school' Mac keyboard, I love my MagSafe adapter, I love my 2015 MBPR ports and form factor, thank you) I keep buying Macs.
I'm a Linux guy myself, but whenever I see colleagues use a terminal on Mac OS or Windows, the amount of little annoyances on Windows really sticks out. It's nothing major (hard to configure colour schemes, awkward copy/paste operations, PuTTY), but it compounds to an unpleasant experience.
2 replies →
This. 10 times this. I moved to MacOS 10.3 in 2004 because the things I did professionally were almost all in Linux (which I had been running in the data center literally since 1994), and MacOS felt and acted like Linux with a nice GUI. I lived most of my life in Terminal and rarely noticed the difference between when I was ssh'd in to a server or working locally. Awesome stuff.
I doubt Windows 10's inclusion of ssh alone addresses this use case; for that you'd want a full cygwin or something. I don't know anymore - I don't use Windows for any purpose other than games on dedicated gaming computers these days. Despite Apple going backwards with each successive macOS release (probably since 10.8) it's still a much more usable OS for the majority of the things I do than Windows 10. I do like Windows 10 better than Vista and 7, though, on my current gaming computer.
> PuTTy sucks
Never been a problem for me. What are your complaints?
I barely notice the difference, but if I had to choose I'd take putty over Terminal.app, which has default keyboard-shortcuts that clash with Bash. (I believe it was Alt-b, Alt-d, or maybe Alt-f. I forget exactly.)
36 replies →
The big problem is the filesystem is still vastly different.
The web, Unix, Linux, OSX, pretty much everything other than Microsoft uses properly namespace driven forward-slash separated paths with no drives and case sensitivity.
That you can't fix, merely abstract it away. I am tired of mapping between the two.
Then I cut and paste. Oh no wait I can't. Now I have to replace all the /'s with \'s and d with d:...
Or
I'm done and moved over the fence. \ means escape. / means path separator. No \\ problems either.
8 replies →
> Losing as the most popular OS has made Microsoft start doing some of the right things.
While Microsoft has started doing good things which I can agree on, when did they lose OS market share to the point of not being number one? If we're talking about Apple hardware outselling any one vendor, that's true, but there's volume. Also, one of the first things I did after getting my MacBook Pro (and others I know who don't want to leverage VMs/Parallels. I like Windows and OSX being separate from a context point of view) was dual boot Windows.
2 replies →
Not that I have anything against MacBooks, but was installing some Linux distro (or a BSD) not an option?
43 replies →
Check out MobaXterm ( https://mobaxterm.mobatek.net/ ), it's the best terminal for windows I ever tried. Have a really handy list for remote connections, an X server, sftp browser for connected servers, Linux Subsystem fro Windows support, and a lot of other useful features. (I am not connected in any way to the developers)
5 replies →
Not to forget iTerm 2 on macOS is amazing. I find it much more pleasurable to use than the default Terminal.app
2 replies →
> PuTTy sucks
PuTTy is amazing, and my experience of using windows over the years would have been far worse without it.
However I do understand the point - compared to using a real terminal, it does indeed suck to be stuck on windows using PuTTy
For a terminal on windows, I have now taken to install cygwin, X on cygwin, and then xfce-terminal on top. It's not perfect either, but it is better.
I've recently discovered cmder and it actually makes Windoze bearable to use. Of course I would never give up Linux if it were my own choice, buy work is work. So they've got an SSH client at last, but still no decent terminal, I suppose.
I think the question is not whether someone would buy a MacBook because it has these tools built in but rather, why would someone buy Windoze given that it doesn't have these tools built in?
3 replies →
Primary reason I'm on OSX is due to working 100% Linux servers. The hardware of a MBP is unbeatable to me.
Try Cygiwin + ConEmu + MinTTY . It was I used when I was force to work on Windows to get a decent shell & terminal.
Bitvise SSH Client is the best one on Windows that I have ever tried. I agree - using Putty sucks massively.
If you think PuTTY is even half the environment bash+ssh is, you probably won't understand what the people buying Macbooks, or using Linux directly on Whatever{books,tops,pads}™ are getting from their choice.
Not trying to be condescending, but it seems to need highlighting that just having SSH access isn't enough.
Not to mention that these other environments have offered other benefits [especially] to developers looking for a programming environment that works for them. The VS.Net IDE-play-button approach to automating testing and deployment doesn't scale for everybody.
Or maybe some people just need PuTTY for the SSH stuff, because they feel Powershell is superior to bash and related Unix shells.
4 replies →
Exactly; bash+ssh comes with decent options for terminal-based text editing. That's a huge win over Notepad and friends.
Microsoft are writing a proper, tabbed multiprocess terminal for a future Windows 10 release.
3 replies →
> I really can't believe somebody ever bought a MacBook because they found installing putty too much of hassle.
No, but something like installing putty was the last straw.
Putty is a terrible experience; very difficult to use. It's like every misstep or disconnection involves a dozen or so clicks back into the configuration area to "try again". This feels like normal on Windows though.
I recently tried to port my workflow to Windows for a year, but I eventually gave up simply because of something like this. I might've made it 6-7 months and I can't recall exactly where it was, death from a thousand cuts maybe.
> I might've made it 6-7 months
Hat's off to you, I didn't even make it that many weeks.
Between filenames/paths being too long, poor terminals with janky colour schemes (save for Mobaxterm, it's great), WSL issues (like umask handling), gvim/vim issues with plugins, and loads of other annoying bits I just went back to Linux.
Linux is FAR from perfect, especially as I have an Nvidia graphics card, but there's a lot to like there too. Having run Fedora 27/Ubuntu 17.10 I've found I really really like Gnome. I seem to be in a club of one there (and it's buggy as hell on 17.10) but for me it's been great to use.
Not that I wouldn't use Mac if I found a couple grand down the back of the sofa, but as a daily driver Linux has been less painful. Even on the laptop, though I do have one of those Dell certified ones.
It's not installing PuTTY, it's using it.
Normally you have a fully-fledged programming language that sometimes runs a command being SSH client, and universal one at that (you can pipe data through it, you can pipe data out of it, you can run remote commands non-interactively with it, you can jump through SSH on other hosts with it, you can set up TCP tunnels in ad-hoc manner without going through the configuration, and obviously you can run an interactive shell). Plus you get scp for file transfer out of the box, and lftp (which understands sftp protocol) and rsync after installing some barely related software, all of them still able to jump through other hosts.
Now compare it to the glorious ability to open a window with remote shell (and only direct one, no jumping through a bastion host), and maybe a TCP tunnel with some clicking through every single time (you can't recall the history of commands, because there was no command in the first place; the best you can do is to save the tunnel configuration permanently). And maybe file transfer if you remembered to download PuTTY's scp client.
You can do all that stuff using Cygwin at least as far back as 2005, because I was running Unix dump and rsync through ssh from a Windows backup server back then. Cygwin eventually adapted PuTTY as its terminal emulator too, in the form of MinTTY.
You can do SSH proxying with PuTTY, too. It's just called something different:
https://stackoverflow.com/questions/28926612/putty-configura...
Plus PuTTY has a command line interface and everything. You can do all the things you mention with PuTTY from a cmd.exe or PowerShell prompt.
2 replies →
Of course it's easy to straw-man this particular sentence. However many people - including me, once - bought a MacBook because it was the easiest way to get proper Unix tools like SSH at your fingertips.
Using PuTTY or Mingw tools on Windows sucks compared to using them on a Unix-based system. I gotta say the Windows Subsystem for Linux really helps in that regard - as does native SSH in cmd an PowerShell (PowerShell by itself is also pretty awesome once you get the hang of it). Linux did not use to be such a great competitor for the rest of desktop usage (some will argue it still isn't).
It's not only about this, you needed to install more and more things every year in windows for it to work. You needed to install Cygwin, a proper terminal (cmd.exe isn't exactly usable), python libraries, Putty, now Docker... Not to mention that since developers are only using Linux and Mac, you will have libraries which does not work on windows (because nobody even tried).
> cmd.exe isn't exactly usable
Depends, for the occasional deep into CLI world to run a script, is quite ok.
Granted, the defaults regarding mouse copy-paste and window size were only improved on Windows 10.
> Not to mention that since developers are only using Linux and Mac, you will have libraries which does not work on windows (because nobody even tried).
Not all developers are pure UNIX devs doing POSIXy stuff.
7 replies →
> You needed to install Cygwin
Just install Ubuntu Shell.
Also, it's not like you don't need to install iTerm, zsh, docker, python libraries etc on mac. It's not like it comes with them by default. Your argument is kind of moot.
8 replies →
Given how critical good terminal experience is to modern IT the fact that putty is the go to tool for this in windows is a bad joke. Not to put down putty.
From the point of resourcing, I mean. Here we have Microsoft on a gazillion dollars of capital and one of the most critical tools for several people is developed by a single talented hobbyist who gives it for free.
Not to disagree with you on anything but same gazillion dollar company is now doubling down of a Javascript code editor because writing high quality native code is so difficult and expensive.
Admins can not install stuff , it's quite known /s
Admins cannot install stuff? Then who can? :)
3 replies →
I have a Win10 XPS13 after 15 years of OSX. And Putty is bad. Not the ssh, but the tool support. And it's not only SSH but the missing shell. I currently use Ubuntu on Win10 just to use a proper shell with ssh.
And of course my next computer will be a MacBook again.
I can. Putty sucks. For a decent key management you need cmder + keypass, and i doubt people want to waste the time i did to experiment until they arrive to such conclusion.
> I really can't believe somebody ever bought a MacBook because they found installing putty too much of hassle.
I'm one of these somebodies.
It's not that installing Putty is a hassle, but my choice to buy a MacBook was very heavily driven by the fact that macOS is Unix based. My time spent between Windows 10 and macOS is pretty even, but it is a much more enjoyable experience to develop in macOS partly because of the Unix-based shell.
putty isn't a great client it just that it worked. I personally haven't used putty from a windows machine for over 5 years. I use cmder and just use it like I was on Linux. http://cmder.net/
Well not just ssh but I did leave Windows for Fedora because Windows lacked a solid terminal emulator and all third party ones did was act as a wrapper around cmd.exe which solved some UX issues but not the core limitations of cmd.exe itself.
I bought a MacBook because the terminal on Windows, including PuTTY, is just.. bad. It's my main environment, I want it to be top notch. I'm shocked I've yet to see something that feels like iTerm2 on Windows.
Maybe not, but having used both Putty and ssh (Linux) for many years, I'm so happy I don't have to run Putty again. I stopped using it at the end of 2008 when I reformatted my work laptop to Ubuntu. Not only Putty is a worse terminal than gnome-terminal but the key management was insane.
Happens all the time. The basic Unix tools are valuable assets - it's more than just ssh.
I swapped to mac for this very reason, actually. Now that windows has WSL, I've been straddling the fence on whether to swap back (tried it back in Dec., might give it another try soon).
I wouldn't buy them because of that but I always use the iMacs in the university computer lab just because SSH is already installed.
I don't mean any offense because it is a useful tool in a pinch. But I would never use putty on a regular basis for real work
It's not putty. It is every single terminal application out there.
It's about time.
I can't imagine (as the author asserts) that people left Windows for Apple because of the lack of a command ssh client. Here's a thought: If you need to spend time on Unix/Linux machines, why not just run that on the desktop? I've been Linux only for 10 years and have no issues. OK, I do need Windows for the rare moments where I have to collaborate on Word or PowerPoint documents; Win in a VM (KVM/QEMU) gets the job done.
Does this new client support ssh-copy-id and passwordless logins? I have a couple of public-facing machines that need ssh; I refuse to enable password authentication as they'll get banged on all day!
Because Windows is foisted upon people in corporate environments. Not everyone gets to run their OS of choice.
Good point - as Mel Brooks said, "It's good to be the king!" In my last job, I was IT; I dread going to some place where they force Windows upon me!
16 replies →
It was foisted on me, but I created a group in our approved software policy with just me in it, added Virtualbox to the group and managed to get the change request signed off! I use Ubuntu now for everything but MS Office and the dreaded ERP client.
17 replies →
Obviously somebody in those corporations chose it.
Running a large fleet of non-Windows computers means writing your own software to manage them, just like Google had to do [0]. Not every business wants to do that.
[0] https://9to5mac.com/2013/11/27/how-google-manages-over-40000...
1 reply →
Part of this though is because software was historically built for windows in a way that it isn't anymore. Even at tech companies, where the majority of employees are using macbooks, you'll often see people in the finance department using windows machines.
I imagine as the growth of SaaS continues we will see less of this, especially because it's much easier for the IT department to manage one type of computer where macs tend to have a higher build quality than most windows based machines.
I'm working now to move my Win 8 install to a VM then I can format this damn machine an install a real OS. All I need Windows for really is Skype and MS Teams.
Foisted is a very apt term
Because on OS X you can run Office and Outlook and many other commercial apps without VM?
Os X is Unix on the desktop
If only Office on macOS actually worked as well as its Windows counterpart
2 replies →
That sounds like a minus to me.
5 replies →
I know lots of developers who use a Mac specifically because it is a Unix system with normal Unix tools that can also run lots of commercial desktop software.
> I can't imagine (as the author asserts) that people left Windows for Apple because of the lack of a command ssh client. Here's a thought: If you need to spend time on Unix/Linux machines, why not just run that on the desktop? I've been Linux only for 10 years and have no issues.
What's your point? Apple Macs are Unix, and in fact certifiably UNIX®: https://www.opengroup.org/openbrand/register/
I find it really convenient to run the same OS on my laptop, as on the servers I administrate.
Others probably feel the same, and I suspect that was the GP's point as well. :)
Also, almost nobody care about Unix certification. Linux isn't certified, and except for really niche things, Linux is all that matters (if you aren't running Windows).
I think their point is that there's no point in trying to force Windows to behave like a Unix when you can just use a Mac or install/dualboot Linux. There are a lot of reasons (fascism-based IT department, can't afford a Mac, etc.), but it's a good point. Once I stopped trying to trick Windows into working like Linux and just freaking installed Linux, my workflow became SUPER smooth.
Usually people who work for Corp or Government can't choose the OS their organisation supports. You can be actually happy if your windows is as modern and free that you can install something like git-bash on there (and then of course you work on a Linux VM that is hosted somewhere in the office, or AWS or similar)
I’m going to try this out, but if you’re using Windows 10, you can install WSL, which has all of the normal SSH commands, and definitely supports using keys for SSH.
I quit using Windows as my primary desktop because of lack of SSH support.
Was there a problem installing Putty?
7 replies →
I did out of irritation the nth time I wanted to delete a file that it insisted was open (which should not be a problem anyway).
6 replies →
I don't know about ssh-copy-id but it definitely supports passwordless logins. You just need to set up ~/.ssh directories as you would on other systems, and ensure the correct file permissions are set. There's a Powershell script to help with that.
> If you need to spend time on Unix/Linux machines, why not just run that on the desktop? I've been Linux only for 10 years and have no issues.
Because at least for Linux, its desktop support is still severely lacking. Maybe it's the distribution I was using (Ubuntu), but all i wanted to do was hook my laptop up to my monitors and use the external monitors alongside my laptop monitor, like I do on Mac or Windows laptops.
I failed.
I remember hand coding an XFree86Config file almost two decades ago to get three monitors setup.
So yeah, that's why I don't work with Linux on the desktop. Because it doesn't work for me on the desktop.
> "I remember hand coding an XFree86Config file almost two > decades ago to get three monitors setup."
Yeah, it's come a long way since then ;) It's 100% plug and play, at least with fedora/ubuntu/debian. Haven't played much outside that realm.
5 replies →
Two decades ago you had to fiddle with config.sys, autoexec.bat and win.ini too. Do you still judge Windows based on that experience?
Otherwise, multi-monitor setup is plug-and-play. I even have an anecdote, where Thinkpad with Fedora saved a meeting ;)
1 reply →
Just as another anecdote, I use my Linux laptop with an external monitor every single day. Even have StumpWM configured with keystrokes to switch between portrait and landscape modes (using arandr).
I find the free version of Office 365 is often sufficient for collaborating on Office documents without needing Windows, although they've intentionally left many features out so it isn't a complete replacement.
Ultimately this probably helps increase the overall internet security. Although in recent years it was available from a TLS secured source [0], the putty.org site (which might or might not be operated by the maintainers) is still not https secured. Given that probably tens or hundreds of thousands downloaded it from there (imagine, getting an SSH client from an unknown source!) I'm surprised not more happened. Other than that, thanks for the great work maintaining this project which helped me and others a great deal throughout my career. Countless times have I been stranded on a Windows server and quickly needed an SSH client.
[0]https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.ht...
Putty binaries are all signed, which is what you should be looking at when authenticating a release. Whether you fetch them over SSL is of little importance.
You are, of course, absolutely correct. And I hope this is what internal package maintainers in large companies and individuals using putty as their standard SSH client do. However, for many of us putty is a backup when they are not on their linux/osx machine and just quickly need an SSH client to do something. The workflow there is google->putty->first result->download->execute. You absolutely shouldn't, but we also shouldn't drink and sleep 8h a night :)
1 reply →
How do you know the public key is correct?
4 replies →
That still allows an attacker to deliver you an older binary than you previously had installed — potentially one with major vulnerabilities.
Signing doesn't prevent downgrade attacks, HTTPS does.
2 replies →
putty.org is owned by a competitor, Bitvise
putty.org links to the official downloads nowadays
If open source isn't a requirement and you want a polished GUI client, https://www.bitvise.com/ssh-client has been free as in beer for about 1.5 years. It will be tough for them to beat being part of the default install!
Odd licensing (free for up to 4 users/machines, but crossing to 5 required $45/seat) really crimped adoption before the license was changed. https://web.archive.org/web/20160329203117/https://www.bitvi...
Bitvise sells a solid Windows-friendly SSH server for $100. I am not affiliated apart from being a happy user since before OpenSSH supported AuthenticationMethods (multiple required) in 2013; it has been my straightforward licensing alternative to Remote Desktop Gateway.
They're also squatting the putty.org domain to advertise their software, which is pretty bad-mannered.
Thanks for pointing this out; I'd forgotten about that (having given up on Putty after discovering the difficulty of sharing configuration https://stackoverflow.com/q/13023920).
Putty.org links to the Putty download page with a disclaimer separating promotion of Bitvise software below. The contrast in marketing language between "source code [...] developed and supported by a group of volunteers" vs. "developed and supported professionally" definitely appeals directly to the Windows mindset! Unfortunately Bitvise's "growth hacking" makes commercial sense, even if it does cost them potential users.
It is always interesting to contrast various SEO approaches; for example: contrasting https://www.chiark.greenend.org.uk/~sgtatham/putty and https://winscp.net. It would be neat if the Putty author would chime in here; perhaps a funding drive for putty.net is in order!
My main issue is the terminal emulator. MinTTY is the only I can get to work like I want with colors and fonts, but I still miss ligatures and the performances are bad.
I'd really like something faster with full color and font support I can SSH from.
By true color support, I mean this: https://github.com/chriskempson/base16-shell
I use it to change my colors depending on the machine I am on. If I log onto a production server, the color scheme switch to high contrast with red background.
Have you tried this out in recent Windows releases? We added 24-bit color support [1] to the console in Sep 2016, and built a colortool (that supports solarized) this summer [2]. Most of this should work, and we're all ears for things that don't.
1. https://blogs.msdn.microsoft.com/commandline/2016/09/22/24-b...
2. https://blogs.msdn.microsoft.com/commandline/2017/08/11/intr...
Does it support setting colors via escape sequence from the shell? because that's the whole point.
1 reply →
I'm interested how well the client works under cmd.exe. Last I tried to use ssh via cygwin, I remember having a lot of issues with escape codes not working, to the point that I had to go ahead and install puTTY anyway, just because it was a much better terminal emulator. Microsoft has neglected their terminal emulator for 20 years now[0]. I hope they improve it soon. I'm aware that some cosmetic features were added in Windows 10 but frankly it still sucks compared to even the most basic Unix terminals. Making the terminal a first class citizen in Windows would do a lot to win developer market share.
Windows Console has improved a lot since Creators Update, adding built-in support for many VT escapes (including all the common ones) and even 24-bit color in the console. They're doing their best to make it first class for developers. You should follow the command line team's blog: https://blogs.msdn.microsoft.com/commandline/
You're missing [0]
As for the terminal, it went under quite a revamp for lxss support (linux subsystem / Windows Subsystem for Linux)
Oops, that was supposed to be a a footnote (just my acknowledgement that there had been some changes to cmd for Windows 10), but I decided to put it inline. Can't edit with the HN app I'm using currently.
You’re right, and I think Microsoft are finally listening. The terminal itself has had its first true upgrade in decades recently.
PowerShell has been around forever and it's super powerful. Just never got much adoption.
2 replies →
I use ConEmu/Cygwin[0] and have no such problems (YMMV).
[0]: http://conemu.github.io/
I know all about the alternative terminals for Windows and none of them are much better. ConEmu feels so hacky and way out of scope for what it's supposed to be doing. Does it still require Administrator, and hook directly into the framebuffer?
1 reply →
1:47 video on how to install it.
If you do not want to watch go to “Manage Optional Features” then + “Add a feature”. You can then scroll down the list and find the OpenSSH Client (Beta) and OpenSSH Server (Beta) features in Windows.
Do you really need a video when the installation instructions are 2 sentences?
Even if the installation instructions are more than 2 sentences, I absolutely hate if video is the only documentation method. It has its value as a supplement to a text description, but not without the text.
(The worst offender that I've come across for this stuff is Minecraft mods. I want to know how this machine block works, not watch you chat about random stuff for 30 minutes hoping that the explanation is somewhere around minute 19!)
Maybe YouTube should have a "kudos, this video was so good that I'll watch an extra 30-second ad just to thank you"-button.
(I assume most of these videos are so unnecessarily long because it increases ad earnings for the content creators.)
I'm not seeing the OpenSSH client there. Is there a minimum version of Windows 10 that's needed?
You have to join Windows Insider preview program to get it today. Should be in retail when the current build is released.
Yeh, at least provide a command-line method of installing it. If you're the type to install ssh, I'm guessing you're not a typical Windows user who is horrified by the command-prompt.
This is from memory so it might be slightly wrong, but in PowerShell you can write:
Add-WindowsCapability -Online -Name OpenSSH.Client
1 reply →
As someone who makes online training courses, the whole putty dance for Windows was so cumbersome. This is excellent news.
Personally I would recommend anyone on Windows to use WSL (which supports ssh and scp out of the box) but it's nice to see this is available for people who don't want to use WSL.
> the whole putty dance for Windows
Do you have something you can share publicly to demonstrate to the uninitiated how painful this has been?
Putty's dedication to the Windows registry has caused me tremendous grief.
Helping end users (Windows developers) configure Putty is the bane of my "discount" remote access strategy (SSH port forwarding).
I usually point people to specific steps of this DO guide https://www.digitalocean.com/community/tutorials/how-to-use-....
It gets even worse too because in some of my courses (like my Let's Encrypt course) I request people to securely transfer files to their DO server.
So now they have to set up WinSCP or a comparable tool, which has its own set of lengthly instructions.
And for comparison on MacOS, Linux or WSL it's just:
Create SSH key: ssh-keygen -t rsa (hit enter a couple of times)
SSH into a server: ssh user@host
SCP a file to a server: scp foo.conf user@host:/tmp
Although it's appreciated as a UNIX admin I can honestly say I don't use Windows by choice but because my enterprise says I must. That's partially because all the productivity tools are found there and partially because the desktop guys are massive Microsoft bigots and refuse to host anything else. (It's OK I can say that as a massive UNIX bigot and besides they'll tell you the same.)
And frankly with the tiniest bit of effort I can crank up a local xterm and then ssh which gives me lovely things like color, font choice, easy window size changes and thousands of lines of scrollback. Why in 2017 would I want to use a bare naked ssh client unless there is simply no other choice?
Default packages are extremely important. That you can walk up to any computer and get work done without installing anything, even downloading putty.exe is far too much effort in some cases. Also it is kind of rude to just download and execute things on friends/colleagues computers ad hoc.
If this will be installed by default it will be awesome, and imho even the process described here by enabling a feature is still better than putty.exe (it will get managed by windows and updated if need be etc.).
For my own windows computers though, the first thing I install is WSL and a proper terminal app (cmder).
Yeah it's handy to have by default, no doubt. But unless it also includes all the other client modes as well (scp, sftp, etc) and all the features found in Putty to boot I think the author's conclusion that Putty's days are numbered is a bit unrealistic.
I will say if this includes active directory integration so that ssh'ing from a windows box to a kerberos-protected unix one that could be slightly helpful. And if not that's just another reason to keep using putty. LOL.
Downloading putty.exe (or executing on a USB or share) is less invasive than installing the OpenSSH client feature.
1 reply →
I'm confused. I've been using https://github.com/PowerShell/Win32-OpenSSH for this for a long time now. Everything works well. Is this new thing somehow different? Better?
Same thing but you can install it via Windows optional features now.
Ever since Windows 10 was released, you could download and install the OpenSSH client. It's great that Microsoft has actually built this in now (even if it is beta).
Wow, took them what, 20 years?
But nevertheless I'm happy. Great job
Took them? Why should Windows come with an SSH client?
I don't work for Microsoft, but my guess would be in order to securely access a shell. (Remotely, but srsh doesn't roll off the tongue)
Honestly though, I'm more interested in an SSH server for Windows. I haven't tried for many years, but last time I did, getting something more secure than telnet was a massive pain.
7 replies →
How else are you going to use your Azure server? :)
2 replies →
For the same reason Windows came with a telnet client?
1 reply →
From the article:
> For years, Apple MacBooks have been the go-to choice for many admins partly because getting to a ssh shell is so easy.
Why did they include it now?
Seems like they're missing support for a lot of algorithms.
It's a good step to be sure, but not a replacement for Putty by any means.
Which algorithms are they missing?
ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
without these you'll likely be unable to connect to Cisco devices, vCenter, etc.
2 replies →
What I'd really like to see is an OpenSSH server for Windows. My biggest gripe is not being able to SSH into a Windows machine and use one of the 3 major shells available now (cmd/powershell/bash).
it has a ssh server, too. but I do not know which shell you get after ssh'ing into (trying out right now)
If it doesn't have to be OSS, Bitvise have one that is free for personal use, otherwise available under a commercial license.
Ive been using it for probably > 5 years, and it's been rock solid.runs as a Windows service, supports both Windows and custom credentials, comes with a nice GUI configuration tool too, can highly recommend it.
I prefer installing OpenSSH from Chocolatey instead, since that way I know I'm getting every month's updates. I've been using the sshd for a year now on my media server, and have the client on all my machines. It's pretty solid, although I do have one ongoing issue related to how ssh-agent works (instead of emulating UNIX domain sockets it uses Windows named pipes, and I can't make a working proxy for Windows gpg-agent to replace it so I can use my smartcard for SSH).
Does it include an SSH agent to replace Pageant? And preferably with WSL integration?
I haven't tried the os feature version, but I assume it is the same one you can install from chocolatey... If so, then yes, it has ssh-agent.
This is well and good but I wish Microsoft would take a strong stance on corporations launching MITM attacks on their employees' HTTPS sessions by injecting their SSL certificates on every session. I can understand corporations blocking sites like facebook but I don't see why they need to read everything I read on the web.
Sounds like an issue for lawmakers or HR are your workplace, not Microsoft...
Microsoft is a technology company, they aren't in charge of the HR or management at your workplace and consequently shouldn't be trying to fix HR issues using technology. There's plenty of legitimate uses for MitM-ling TLS, and in some circumstances even that is one of them (e.g. on hardened networks with VPN endpoint interconnects).
If you are on their time and their equipment, they have every right to know what you are doing. End of story.
Back in the late 90's I used to carry a memory stick with VNC and putty upon that I use to tunnel a VNC connection over SSH to my home network and oven over bonded ISDN (128k which I had at the time in the UK) it was more than usable or attaching to any of my systems.
Then Cygwin came of age, proved very very very useful for adding the tools windows corporate desktops missed out upon for work related activities.
But in all that time, PuTTy has been a very good terminal client for SSH needs. Whilst it is good that Microsoft is adding this, it has never been a hurdle for many and those who run into a corporate wall that tough, have always been able (from the ones I've worked with and collegues) been able to circumnavigate around it :- Usually using the corporate security policies to bash the corporate desktop witch upon the head. Fight fire with fire if you can't bend the rules.
I am missing the point you are trying to make.
For those who like -- and prefer -- GUI, Putty (or any other GUI based SSH client) will remain king. For the rest, this is very good news. It is the same client many have been using for many years under their Unix alike OS, just on Microsoft Windows.
Point being, those who wanted SSH or unix tools under windows - there have always been options, even with the most zealous of corporate desktop policy that I have encountered and in the worst cases, you can use the corporate security policy to make that happen.
If one's necessities are not limited to an ssh client, Cygwin has been available for years, is free software, and has a very good integration with Windows (you have read/write access to the whole filesystem, for example, something presently cannot be done with win10 subsystem for Linux)
the WSL does have full access to the file system... cd /mnt/c/ gets you access to the C drive...
It can't work with network shares or non-ntfs volumes though.
6 replies →
I highly recommend MSYS2 over Cygwin (assuming WSL isn't an option). It's much faster and the package manager (pacman) is friendly.
According to the MSYS2 devs, MSYS2 is slightly slower than Cygwin, and it has a significantly different project objective, leading to much reduced command-line environment:
https://stackoverflow.com/a/25755481/3712 (MSYS2 dev)
As for whether it's slower, I expect there'd be very little difference but MSYS2 would be a tiny amount slower due to the extra conversion work.
https://github.com/msys2/msys2/wiki/How-does-MSYS2-differ-fr...
MSYS2 provies a minimal shell required to run autotools and other build systems which get the source for software from the Internet from different repositories, configure them and build them. The shell and core tools exist mainly to allow porting Unix programs to run natively on Windows (i.e. without requiring a POSIX emulation layer). MSYS2 doesn't try to duplicate Cygwin's efforts more than necessary, so the number of provided POSIX-emulated software is very small.
(I recommend Cygwin, I've been using it for 15 years or so, and have access to almost everything I've ever needed from Linux command line. The slowest thing is forking; emulating it in Win32 executables is not easy on NT kernel. MSYS2 doesn't fix that.
Also, apt-cyg is pretty decent for installing packages on Cygwin.)
6 replies →
Yeah, they probably found out that sending the data from their own adware/spyware over unencrypted channels back to their own servers was too insecure. just kidding ;-)
No seriously: Congratulations MS and please evaluate again if you really need that extra money you make with your advertising deals.
I just use the ssh client within the Ubuntu thingy in Windows 10 - surely that was an option?
So this is why Microsoft is such a leader in technology. After only 22 years, ssh is now in it's operating system! Wouldn't it be nice to have a monopoly that actually is innovative, rather than simply a lackluster follower?
The first thing I always installed in Windows was the gnu tools port. (unixutils?)
Now when I sit down at a Windows box, it's the Ubuntu terminal. Over the years, I've become pretty platform agnostic. However, having to change my keyboard shortcuts for Mac, and no single way to copy/paste in a terminal between Windows (double right-click)/Mac (alternate between middle-click, or right click and paste depending on the source)/Linux (good old middle click!) is pretty annoying. It's also annoying that the Mac uses a whole different button for copy/paste, and the Home/End keys don't work the same.
Haven't seen any discussion yet of the licensing aspects of accessing a Windows server via SSH.
Linking an independent Microsoft licensing consultant discussing fun terms like "External Connectors" vs. "Client Access Licenses" (CALs), the "Primary User of a Windows device" and the current "Web Workload" exception... maybe a new exception is on the way.
https://github.com/PowerShell/Win32-OpenSSH/issues/926#issue...
It's in beta and you still have to use the bag of sh*t windows terminal.
I'll skip and continue supporting and using PuTTY.
The PuTTY developers should get a trophy for an essential dev tool that has been around for ages, free and just works.
As a sysadmin who put up with MSs crap for many years, got fed up, and went fully gnu+Linux only...
Sorry Microsoft, too little too late, you are an anti-user company, and I hope your desktop share withers and dies. I'd rather see the world on osx cause at least it has a semi-decent gnu userland.
I smell blood in the water with moves like this. Its time to ramp up the attack people! Step 1: rip out AD and replace with Samba4. Step 2: windows servers become Linux servers. Step 3: non-office user terminals become Linux terminals. ...
Built-in OpenSSH was never the problem. You could always get builds for Windows.
Lack of a half-decent terminal emulator is. cmd.exe is just terrible (I assume that's what I see in the screenshot).
I hope you are aware that Windows 10 has improved console: https://blogs.windows.com/buildingapps/2014/10/07/console-im...
And keeps improving: https://blogs.msdn.microsoft.com/commandline/tag/console/
So they finally got mouse selection working? Font size scales according to screen resolution? They must have woken up to the 21st century.
Thank you for the link, I had no idea. I haven't kept tabs on the recent developments. Not sure if I'll ever upgrade to Windows 10, but I keep it in a cage somewhere, so I'll take a look.
I was happily surprised a while back when I started using WSL, but there are a few things that I still miss:
* tabs * splitting a pane * a default font with a high unicode coverage * better theme support (the current system is clunky)
1 reply →
Next step: add recognition for foreign partition formats like HFS+ and ext4. Just recognition would be a great step, something along the lines of: hey we see there are partitions on this disk; are you sure you want to format this? This instead of: Do you want to format this disk?
I don't even expect that you can read or write to those partitions, which of course would be trivial to add for them. Just recognition would be great!
Microsoft is definitely other company nowadays. When I started on IT, more than a decade ago, they had a completely other market positioning and strategy.
Well, I gave this a try on my Windows machine. I tried to generate a key pair to pass around. I have yet to figure out how to give ssh-keygen a path spec it can write to. Even no path (just file name for the key in the current directory) fails with "invalid argument"
So on that note, anyone know how to report bugs on this? Cursory Googling isn't turning up much.
Looks like there's a server too, sounds good.
I have been using VanDyke's SecureCRT for more than a year now at work and I must say if works very, very well.
Last I checked bash on windows is still segregated from the windows system proper. So you cannot call any windows utility/compilers from windows bash. You cannot write to existing files/directories either, based on WSL docs. Hopefully these limitations will be removed.
I don't think that's true. You've been able to execute windows tools from WSL for a while now.
And access to file system through /mnt/c even longer.
I needed to reboot to make the install of ssh work. Then I did `ssh linuxbox` and it tried to login me in as winuser@winbox@linuxbox instead of winuser@linuxbox. The -l option fixed that. The gtop command looked nice! - it didn't on putty.
You can also use ubuntu bash on windows. With that you can use a ton a linux utilities.
I've been using this from the daily builds for a year, maybe two, to SSH into my app servers, DB boxes and load balancers and start tunnels,
It works. Really well.
Microsoft are going to try and get the forked Windows support merged into OpenSSH ports upstream.
So, it took Microsoft 17 years to catch up?
I ported openssh to windows in year 2000.
http://download.jgaa.com/ftp/pub/OpenSSH/
> There is a new beta feature in Windows 10 that may just see the retirement of Putty from many users
I don't think so. Putty is not only a superb ssh client, it's also so much better shell than command prompt.
For the love of God, I cannot get ssh-add working with passphrase protected private keys. If there is no passphrase protection on the private key, then it works fine. I guess this is what beta means ;-)
The best terminal ssh is obviously mobaXterm.. It even supports X windows. Plus it's free.
https://mobaxterm.mobatek.net/
I'm not sure how useful this is by itself. It's cool that it's there for convenience, but I think I'd rather stick to either Git on Windows or Windows Subsystem for Linux (WSL)
Central store with apps, built-in ssh... Almost like Ubuntu 4.10...
Shhh. It will only be another decade or two for Microsoft to complete their ugly rewrite of Unix.
I wonder if it has some "convenient" extensions to the ssh protocol that will only be available on Windows...
At least they can't afford intentional incompatibilities in this case.
I wonder if it has some "convenient" extensions to the ssh protocol that will only be available on Windows...
Does it, or is this FUD? The source code is available.
Unfortunately I am somewhat older and I am cursed with a very good memory. The behaviour I describe in the OP used to be the standard for Microsoft.
Feel free to audit the source code if you want, I'm not using Windows any more so I don't really care.
Holy smokes! Why did it take them that long? This is why Microsoft loses so often. They crawl when it comes to innovation. Thank goodness for their surface line of products
>Why did it take them that long?
Because they relied on software sales to businesses, therefore incompatible tools and vendor lock-in. They're now changing their business model towards IaaS/PaaS.
>This is why Microsoft loses so often.
Microsoft loses how? You might not like them but they definitely haven't lost anything.
How do I get it to use my SSH key automatically? Do I make a .ssh folder in my home folder? Which key format does it use; PuTTY or the regular format?
It seems it only available in Administrator mode, to enable it for normal user, you have to add "C:\Windows\System32\OpenSSH" to your PATH.
All this talk about putty and I can't believe nobody has mentioned Bitvise Tunnelier. It's been my goto SSH client on Windows forever now.
Can’t wait when the WSman in powershell will be replaced with SSH. This is one of the obstacles for PS for Linux, due lack out of the box
anyone old enough to remember services for unix? https://en.wikipedia.org/wiki/Windows_Services_for_UNIX
What happened? Will this latest attempt to be non-hostile to unix be dumped as well? No ssh server, why not?
It does include an SSH server.
> There is a new beta feature in Windows 10 that may just see the retirement of Putty from many users: an OpenSSH client and OpenSSH server application for Windows.
Maybe someday, we will even be able to type sftp://foo@bar/var/www into the Explorer address bar!
I love that you have to dig through a list of supplemental fonts to enable the SSH client/server. Oh Microsoft.
Only available on 1709. No joy on LTSB :(((
There is clear direction where MS heads. Can’t wait the moment when they will replace WSman over SSL to native SSH
Is this a new client and server, or are they just taking advantage of the ability to run native Linux binaries?
I'd assume its windows native, considering it can run without the WSL.
Dear Microsoft,
great to see you are including OpenSSH as part of your own OS, it's a carefully crafted piece of software that has a lot of appeal among users.
A nice follow-up is to generously contribute back to The OpenBSD Foundation. You were already a donor and, doing so, are helping further developments while being much cheaper than hiring a team all by yourself.
Thank you.
I can't wait for the day we can accurately describe windows as a quirky Linux distro
What could possibly go wrong?
yep, welcome to 1999. geez.
Exciting news!
Can we finally proclaim 2017 as the year of the Linux desktop?
2017 was certainly the year of Linux on the Windows desktop. :)
If it wasn't proclaimed yet that would be the first time in 15 years or so. Don't break the chain!
No, i think you meant that 2017 was the year of linux ideas that were implemented on desktops. ;-)
This seems like a small thing, but it's definitely not. As an admin one of the first things I always have to do is download Putty and pscp to whatever machine I'm on. It will be really nice to have these built in.
Also being able to tie this in with applications will be a huge bonus later as well.
Even if installing Putty is not a hassle, i see no reason why we can't try SSH . If it makes IT admin's job easier, we should give it a try.
5 years ago I use git client, it includes a ssh client
Die putty. Die. MUHAHAHAHA.
The UX would have to be better than Putty first. Seeing as putty emulates a decent terminal, this isn't going to be trivial.
Welcome to the 90's Microsoft. Glad you could make it.
No one has used telnet for over 20 years. The fact that it took Redmond over 20 years to incorporte an SSH client proves to me that they really aren't as security conscious as they claim to be.
Great. Microsoft. That's just great. Now could you please remove the spy/adware that is also included in Windows 10?
Even if they did, would you ever trust them again?
No.
Great stuff, now windows malware can use ssh to infect Linux servers!
If SSH connectivity was a major reason why Windows malware couldn't propagate to Linux servers, we'd be in very deep shit already.
you miss the point that the right ssh keys will be used by default. currently malware would have to search for and use the keys by itself. now the servers will be on a gold platter, ready to be served
1 reply →
Well, no more than Heartbleed would allow Linux to infect Windows servers...