Microsoft announces support for SSH
undeadly.org
undeadly.org
Interesting insight into 'new Microsoft': first two times Powershell team asked to add SSH, they were rejected. Now it's OK: see last paragraph of http://blogs.msdn.com/b/looking_forward_microsoft__support_f...
As for those who are claiming this is a harbinger of Microsoft trying to take over SSH... well, get those tinfoil hats ready, kids. Looks like Nadella's Microsoft is willing to play nice in a wide variety of arenas, so you'll have all kinds of things to be foolishly terrified of.
google and see what microsoft did initially, now it's basically doing "if I can not beat it, I'll have to join it". microsoft does what it is doing now not because it favors open source, but it really has _no_ choice, and time is running out fast.
Micrsoft has not really earned my trust, still in IRC I use "M$" for it, but I do welcome their changes, let's wait and see, that what real contribution it will do for the OSS community.
I also know that companies are not people, and as the old guard retires and/or dies off, new people and new ideas come into play. Microsoft appears to genuinely want to work with the wider tech community now, and I'm willing to give them the benefit of the doubt.
To put it another way - do you still think that Germany is out to conquer the world?
Because MS never tried that? See Kerberos, for example:
https://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish...
What was going on 20 years ago at Microsoft?
* implementing POSIX application compatibility to compete with UNIX for gov. contracts
* giving away IE
* embrace and extending Java
Compare to today * additional compatibility with tools typically used in Unix administration
* giving away windows
* Objective-C/Cocoa support for Windows applications
The steps they were taking didn't seem bad until the end game was obvious, but they started out very similarly to the current initiatives. A lot of the actions seem exactly like 20 years ago - do whatever it takes to get market share, make it incredibly difficult for that market share to migrate.Yeah, but incomplete .net on github, yeah!
Just don't forget about the royalties MS charges from Android manufacturers as well.
They might be on the right reinvention path, but they're still a giant company, and one to be respected.
That's not (completely) true, you can easily use the SSH client (plink) without the terminal emulator. It is actually quite common to do so.
I don't think it works the other way around though.
So common I've never seen it done. Ever.
Well, honestly, this probably covers 99% of use cases - i.e. "I'm on Windows and I need to connect to a remote shell". Having the two separate sounds like overcomplicating things.
Try starting with Futty.
You download it from an unencryped, unsigned website, and there are GPG signatures available, but you can download the keys from the same unencryped, unsigned website.
A MitM attacker could easily manipulate the executables, sign them with his own keys, and do a MitM attack on the key page too.
This is not mere paranoia; we know now that the NSA has infrastructure to do such attacks fully automated and at scale.
You can't even use ECDSA, much less Curve25519-based solutions.
The total count of devices supported by Linux exceeds that of any other OS, based on statements from Greg KH and others.
Windows has an edge in some areas of proprietary desktop hardware (see Linus's infamous but richly appropriate "fuck you, Nvidia" comment). But that's superiority in a narrow (though highly significant) niche.
As desktop falls in significance, that edge and leverage will be less valuable.
I would dispute the 'total count' argument. Windows doesn't require rebuilding the kernel to get device support for some vendor's hardware. The total count of Windows machines actually succeeding in supporting any given device could be many times higher.
Linux's integrated design makes that the kernel developers' problem, not the users'.
So they have to hunt down the PR on github and build it themselves.
For the audio interface there's even a Win8.1 driver, but its reliability is a joke. The DDK takes care of everything? Not for this vendor.
> Windows doesn't require rebuilding the kernel to get device support for some vendor's hardware.
Neither does Linux. You have to compile the module (i.e. the driver itself), of course, but you can modprobe it without rebuilding the kernel. This has always been the case.
A long time ago (during the days of kernel 2.4 or so) there were people (ahem, mostly using Gentoo) who tried to shave off a few milliseconds when booting by building everything into the kernel so as not to waste time loading modules. In that case, sure, you have to rebuild the kernel, but that is not a common approach.
I... have to wonder, where did you get the idea? Back then (I was... um... I was also frequenting the Gentoo establishments...) Windows was our laughing stock because you had to reboot your computer when installing drivers.
I used to joke "Linux will never get widespread until they have a Have Disk button" meaning I can get a driver from a vendor with a push of a button during installation. Having to build anything is a distraction just to use a new device.
> I used to joke "Linux will never get widespread until they have a Have Disk button" meaning I can get a driver from a vendor with a push of a button during installation.
The chasm between communities is remarkable :). At the time, I liked Linux for precisely the opposite thing: it came with all the drivers I needed out of the box. No fiddling with CDs and floppies after installation. Except for the odd device that required me to download a driver from the vendor's website (and even then I didn't need to reboot my computer, at least!) I was good to go. Whereas, after installing Windows on a PC, the first thing to do was spend an hour or so installing drivers for all that stuff that made it possible to have I/O more advanced than 640x480, 16 colors and PC speaker.
Granted, though, my experience then was limited to desktop computers. Linux hardware support was far less diverse than it is today. There was no fiddling to do if you had stuff that was supported; but the chances of it being supported weren't always good.
Well, at least we had good desktop software. Fire it up, open that doc to start reviewing specs. What is this? Every character in the doc displays in the upper-left corner of the screen as one mad spidery blob? Then hard crash the OS!
We abandoned that after 2 days, went back to Windows (which supported everything) and ran a virtual machine for Linux dev.
Having said that, the main advantage for developers has to be the relative stability of the device driver API. Linux explicitly doesn't have one, as part of the war on closed source drivers, which makes maintaining an out-of-tree driver a hassle.
Fair enough.
I would dispute the 'total count' argument.
Here's Greg's claim: "Linux today supports more hardware devices than any other operating system in the history of the world."
http://www.linuxfoundation.org/collaborate/workgroups/techni...
I don't know what data it's based on, but I strongly suspect he's correct on that.
Again: my contention isn't that Linux does better on desktop-grade hardware, if anything, that's its weak point. But that's entirely due to vendor leverage by Microsoft, not technical shortcomings.
Windows doesn't require rebuilding the kernel...
Two elements to that:
1. Neither does linux in many cases. You'll have to compile the kernel module itself, of course (or someone will). That's the case for Windows as well. Generally, for stock kernels, device support is via modules, and you simply have to provide the module. In practice, it's already present, and device autodetection loads modules at boot time. This means that, e.g., you can take a hard drive out of one system, put it in another (of the same general CPU architecture), and it simply boots and works.
2. Drivers are sketchy, mkay? Not allowing any arbitrary code to be loaded into kernel space offers security advantages. It's on of those security / convenience trade-offs.
The total count of Windows machines
Counting Android as Linux, you're close to losing, if not already lost, with that metric as well.
Quick search suggests that Android bypassed Windows in early 2014:
http://www.phonearena.com/news/Android-installed-base-might-...
Present count is 1.675 billion Android devices:
http://www.statisticbrain.com/android-phone-statistics/
Windows as a share of all computing devices fell behind the combined iOS and Android count in 2012: http://www.zdnet.com/article/windows-has-fallen-behind-apple...
That is called "Confirmation Bias."
The paper cited is published by the Linux Foundation, which manages overall development of the Linux kernel, and employs the two lead devs, Linus Torvalds and Greg Kroah-Hartman, directly.
Greg's responsible for much of the device support himself.
I also noted that the claim isn't specifically referenced, but I'm generally inclined to believe it's factual.
Confirmation bias would be seeking out specific information to confirm a belief.
The claim dates back to at least 2008, where Greg KH states it was independently verified by Microsoft:
http://broadcast.oreilly.com/2008/10/how-linux-supports-more...
I've seen quotes from you and I've even heard from you in person that you believe Linux, the kernel, supports more devices than any other operating system ever.
I can back it up by that's true, and it's been independently verified by somebody from Microsoft.
Greg's a developer, not a marketing type given to inflated statistics.
That said, I've asked if anyone's got sources.
What is a "driver developer"? What's your end goal here - to enable the hardware on a particular OS, or do you have the added constraint of wanting to maintain control of your "driver" by keeping it proprietary, and so you have the additional requirement of a pluggable architecture instead of just contributing to the upstream Linux kernel?
In other words, do the obstacles you claim exist only exist because you are trying to write non-free drivers?
Here's a list of 16 billion dollar businesses for Microsoft[1]:
Windows
Windows Server
Windows Azure
Office (client)
Xbox
SQL Server
System Center (client and server both, so includes Windows Intune)
SharePoint
Visual Studio
Dynamics (CRM and ERP)
Online Advertising (search and display both)
Office 365
Client-access license (CAL) suites (formerly known as desktop access)
Enterprise Services (including consulting)
Enterprise communication business (Exchange plus Lync)
That list is from 2013 so I now think their phone business and the Surface business either reached or are close to a billion in revenue each. And all of them are increasing in revenue by a lot, except for maybe Windows client.
Why do they care too much if Linux is on a billion routers or super computers? This is like iPhone vs. Android. Android may be on a billion phones, but Apple is printing money with iPhones.
But yeah Microsoft has been "dying" from the 2000s, if you believe Slashdot posts, and the Year of the Linux Desktop(TM) is really right around the corner this time.
[1] http://www.zdnet.com/article/microsofts-16-billion-dollar-bu...
Sales network is something entirely different than technical capabilities. Especially, when half of Microsoft is sales force.
Yes, there are companies using Microsoft products and Microsoft is getting paid very well for that. However, these companies are not on forefront of computing and are not considered to be top companies in the area of cutting edge development.
Show me some cutting edge company/startup in the IT sector that is using Microsoft products and is not a statistical error. There is a reason for that.
Stack Overflow
http://highscalability.com/blog/2014/7/21/stackoverflow-upda...
Newegg and a bunch of others like Plenty of fish
The real reason that you see comparatively fewer is they worry about license costs, not about the lack of technical functionality.
> Microsoft offer $500k cloud credits to YCombinator startups in Winter 2015 > http://blog.ycombinator.com/$500k-of-azure-credit-for-yc-sta...
> HN thread about people using MS stacks in their startups, with lots of replies > https://news.ycombinator.com/item?id=8545278
In any case, I still think it's a smart move. It doesn't mean IIS or MS SQL Server need to go away or would even lose market share. (But I'm stating that as a "perhaps," not a fact :) )
If not, at least they're pushing many of their core technologies to it (.NET, etc.) so it's still a net positive.
Windows has almost nothing in common with Unix under the hood and this isn't anything that can be changed with some incremental subsystem additions.
Only a complete rewrite from scratch could accomplish that, and even then, it's quite likely they'll base it on the Singularity plans from Microsoft Research rather than on Unix (there already is such a tentative project codenamed Midori).
The fact is the industry has changed. Trends have shifted. Microsoft, especially now with Nadella running the show realize they can't dictate what developers need. If they want to stay relevant they needs to give the people what they want.
I am of course referring to the still existent non-startup style companies which might have non-technical users/staff such as Project Managers or Business Analysts etc. In my experience, once a company gets past 50 users or so, Windows is still the way to go.
Sincerely hope they will donate to the OpenSSH project to support its ongoing development going forward and not just mooch off it as many other companies do.
It appears people are building it against MinGW? ( https://www.nomachine.com/AR05H00563 )
If we can already build Windows binaries of OpenSSH, why does it matter if Microsoft begins to offer that also? Is Microsoft going to provide full source for their build process? If they don't, would it be a good idea to even use it?
http://blogs.msdn.com/b/looking_forward_microsoft__support_f...
That described Windows for a long time, but seems like things are changing.
SSHing into a Windows box with file shares open to other hosts is ... interesting. You're outside the normal user authentication scope, and CIFS/SMB fileshare is (pardon extremely imprecise descriptions) authenticated and contextualized via the desktop login. CALS accounting too, and I've run into exceptionally annoying concurrency limits as a result.
Contrast with, say, NFS or iSCSI where filesystem mounts are managed at the system level, possibly with automounter support for apparently seamless behavior.
My read of this is that this is largely geared at 1) providing additional support for OpenSSH development (a Good Thing), and 2) (finally) delivering an SSH client on the default install.
Really, about fucking time, that.
Though recently some not official versions had malware installed if I'm remembering. I'm wondering if this is a response to that.
Don't worry though, the page has checksums you can validate your download against! Except those are also served over HTTP.
There's also Cygwin, which comes with the OpenSSH server in addition to the client. For a preconfigured Cygwin when I needed it, found Babun to be useful: https://babun.github.io/
Then Microsoft killed it.
If OSX let hardware vendors write drivers for OSX, they would be in much better shape. But Apple OS internals are pretty much nonsense as far as I'm concerned.
* The Registry. * Drive letters and associated anachronisms. * A sane service manager. * The Windows API in general.
A registry which gives a central place for configuration and enables group policies and central management?
A registry which allows ACLs on individual keys and sub trees, not just at the level of files.
A registry which has some notion of types.
Isn't it also nice that MS moved on a bit from the notion of drive letters with powershell providers, allowing you to console edit registry locations, active directory OUs, certificate service paths, and whatever you want in a FUSE style pluggable way, while keeping the usefulness of drive letters and unc paths and not trying to pretend a network drive is a subset of / on a local computer.
Linux environments don't even have a stable place to put SSL certificates or a stable format for them. Packages might use individual files, or a single concatenated file, or a Mozilla NSS database, might look in somewhere in /etc or need their own path configuring.
It's a mess, even if it was standard and all the files were base64 text versions, it would still be useless for human editing with text tools because humans can't process big chunks of base64 usefully. A certificate store and a PSdrive provider for it. Neat.
They need to start setting fire to legacy "features" and moving into the future. Windows is great because of backwards compatibility, but it's also hobbled because of it.
Unless they want to be an OS for organizations that fear change and upgrade slowly, reluctantly, then they'll need to start cutting some of that baggage loose.
The original article is about Powershell. So I could, for example, say that people who are only familiar with bash (etc.) wouldn't know that Powershell doesn't pipe text, but rather .NET objects. Hence one could go and do something awesome like
> ps | where { $_.PM -gt 10240 } | sort PM -Descending
... and get all the running processes that take up more than 10MB of physical memory and are neatly sorted by one of the columns. And not even once did I grep.Your argument is basically that Unix is better, because Unix shells aren't CMD.EXE, which is absolutely true.
Shockingly, Powershell isn't CMD.EXE also.
I may have erred on the exact name of the logical fallacy, but it doesn't mean that there is no fallacy: valid views discarded based on the blind assumption of Unix's infallibility. Feels like it's 1999.
And I don't see how you in anyway progressed the comparison of bash and Powershell with your comment. But go ahead, call me a jackass some more. Maybe that will help?
But up to this point, they are just trying to 'embrace'.
Lets see if they will 'extinguish'.
Embrace, Extend, Extinguish was the modus operandi of Gates and Ballmer. Satya Nadella is now at the helm and he does not have the same history nor is he moving in the same directions. Satya is a different person and I'm holding judgement till I see the fruits of his labor and how far his leadership trickles down.
In fact, what has MS actually extinguiushed?
https://msdn.microsoft.com/en-us/openspecifications/default
Their kerberos implementation works with heimdal and mit. They used an optinal field to include group membership data so that authorization decisions could be made from the contents of the ticket.
https://msdn.microsoft.com/en-us/library/gg604662.aspx
I'm just saying. Times have changed. Will they ever be as open as an open source project run by volunteers? No. Have they dramatically improved their position in response to the very real criticisms of their past behavior. Yes.
The ASP.NET and other .NET teams beg to differ. Their code (not some mirror) is hosted on Github and Apache licensed. You can fork it just like any other open source project.
So yes, parts of Microsoft's tech is actually free and open, for all practical definitions of free and open (the GNU people's pedantic arguments about Apache not withstanding)
The ASP.net team is kicking major ass.
Wrong. It's too late to automatically assume they've changed their game. They have been making some impressive moves lately, but that doesn't mean they're suddenly trustworthy.
there's not even an obvious way to get from here to "extend"
just look at all the nonstandard SSH authentication methods that exist across networking devices.