
Looking Forward: Support for Secure Shell - BryantD
http://blogs.msdn.com/b/looking_forward_microsoft__support_for_secure_shell_ssh1/archive/2015/06/02/managing-looking-forward-microsoft-support-for-secure-shell-ssh.aspx
======
cturner
For all Balmer's thing of dancing on a stage and chanting "developers", there
was no point under Gates or he at which Microsoft felt like a pro-developer
company.

That has completely changed in the last eighteen months. Each time I think
"wouldn't it be cool if" I'm finding a few weeks later that someone at
Microsoft is well ahead of me. How much easier it will be to ship my sucky
roguelikes to Windows users in this new world!

Hmm. They can now have a path to obsolete cmd. As long as they ship a decent
ssh client with the system, users will become accustomed to ssh-ing to their
own box instead of using cmd.

Wishlist: tmux, emacs, vi, netcat, shell option for vi-mode, rc-file with
preferences, ncurses library, something simpler than curses, zip and unzip.
256 colour is fine, although 24-bit would be impressive. /proc would be cool,
but also a big ask I assume. They already have a strong compiler. Make it
really easy to find the hex fingerprint required to log on to the sshd-server.
Something like inetd could be useful, too.

~~~
halo
>Wishlist: tmux, emacs, vi, netcat, shell option for vi-mode, rc-file with
preferences, ncurses library, something simpler than curses, zip and unzip

No thankyou. I can certainly understand including SSH support, but I don't
want what is pretty much the only remaining viable non-Unix platform to start
bundling horribly dated and clunky Unix-like commands and bloated GNU tools.

~~~
wumbernang
Couldn't agree more.

As a die hard Unix guy and ex Slashdot-esque zealot (colloquially a bit of a
twat). Yet I'm knocking out PowerShell all the time now and dread having to
log into the pile of CentOS kit I have lying around. It is arcane. Even after
15 years I spend most of my time in the manpages or working out another damn
config format.

Literally did a two liner to scrape a web page, parse it and call a REST
endpoint with the parsed data as JSON in PowerShell. I cant even use python
now. I've been broken.

It makes me cringe saying all this as well kind of like a racist making amends
with his past.

The only thing I still hate is windows update.

~~~
david-given
I did find an open source implementation here:

[http://pash.sourceforge.net/](http://pash.sourceforge.net/)

Don't know if it's any good --- never tried it; it says it's about half
complete, but I don't know if it's a useful half.

After looking at the docs, you could do a lot of what Powershell does with
Unix shells; you'd need a different set of conventions, where instead of using
unformatted text as an intermediate format you used a streamable table format
with support for metadata. Then you could have commands like 'where', which
would be awesome.

$ xps | xwhere user -eq dg | xsort -desc rss | xtop 10 | xecho "rss=@.rss
cmdline=@.command"

...or something. sh syntax is a bit lacking; PowerShell's got lots of useful
builtins, including having native support for the format so it knows how to
present it to the user. An sh version would conversion routines back and forth
from text.

The tricky part would be bootstrapping; getting enough functionality quickly
enough that enough people would start using it to make it sustainable.

I'd still rather use this than faff around with awk, though. I've done way too
much of that. And if I never have to parse the output of ls -l using cut
again, I will be a happy person.

~~~
XorNot
Isn't this just complaining you want a different tool? The entire Powershell
format depends on, amongst other things, the object interface being sane,
existing, and usable.

The whole point of the GNU system was working around the usual "I can see it
here, need this bit, and want to put it there". If you need to do something
really specific a lot, you write a tool which does that.

~~~
vidarh
Exactly. The Unix/Linux world has not gone the way of a Powershell type shell
for the simple reason that for the uses where we want an object-oriented API,
we have a plethora of scripting languages designed for that purpose, and we
all have our own favourites.

When we want a text oriented API we use shell scripts. When we want an object
oriented API we pick our favourite scripting language - which may very well
for many of us be different for different problem domains.

------
Someone1234
Wonderful.

I am a big supporter of Powershell, and while Powershell has supported
remoting since almost day one, it will never enjoy quite as much support as
SSH already receives (e.g. third party tools, firewall support, etc). It is
also nice that they're looking into using something fairly "proven" secure,
OpenSSH is exposed to the internet a lot (even if, yes, that is not best
practice) so we can reasonably expect it to withstand day to day attacks.

In general people really are starting to run out of reasons to "hate"
Microsoft. It will be interesting to see what they come up with in the
future...

PS - I really hope later they expand this to SFTP support. SFTP is
significantly better than either FTP or FTPS, and something Windows has lacked
since forever.

~~~
freehunter
SYSLOG! For the love of god, please support syslog! I work as a consultant
supporting a SIEM, and the amount of hoops we need to jump through to get logs
from Windows servers is crazy compared to changing one line in a syslog.conf
file. I actually dread when a client says "we're an all Windows environment"
because wow initial setup just got that much harder.

And if we want to install a syslog forwarder on their domain controllers... no
one ever trusts software installed on their domain controllers. _Everyone_
trusts a single line in syslog.conf.

~~~
sudioStudio64
MS has supported event forwarding since 2003. You can set machines to forward
events or have them pulled. The events are XML that conform to a published
schema. There is a WMI call that call pull the aggregated events off the
collection servers.

I heard this kind of thing from a vendor the other day. It's like people don't
even try to learn how it works.

Why are they different? The event log has some transactional guarantees that
were required for a specific kind of security evaluation...C2? I can't
remember the rest.

The thing is...you don't have to install a client on the domain controllers.
You can setup forwarding to some log hosts and collect them there.

~~~
pjc50
_It 's like people don't even try to learn how it works_

It's much harder to know how it works, for some reason. Information like this
doesn't make its way into the community and circulate. On a UNIX system you
can poke around /etc and get an idea of the scope of what is configurable. The
same is very much not true of the registry and only slightly true of WMI.

~~~
sudioStudio64
You are right. The guy that wrote PowerShell says that UNIX is document
oriented configuration while windows is API oriented configuration.

To get into it in any depth you have to approach windows programmatically. The
most power is through C\C++...to be a good windows admin you need to read the
docs about how you interact with different subsystems, even if you aren't
going to code against them.

~~~
silon3
> You are right. The guy that wrote PowerShell says that UNIX is document
> oriented configuration while windows is API oriented configuration.

That's an interesting way of putting it. I strongly prefer the Unix way
then,(just avoid turing complete config languages).

~~~
sudioStudio64
After coding for several years, the two aren't all that different.

I'm not saying that I think that the UNIX WAY is ever going to go away...but I
do think that extreme scale makes the programmatic approach to configuration
make more sense. Instead of treating every system as a "system" you treat it
as a simple programmable node among thousands of others. You are already
starting to see Linux go this way with systemD. The stuff that the CoreOS
people are doing with etcD, fleet, and flannel are really the future of *NIX.

Please cut me some slack...I'm NOT TRYING TO ARGUE ABOUT SYSTEMD. I'm just
saying that it's oriented towards developers using API's. That's one of the
reasons why admins who are used to the "one true way" dislike it so much. And
they should have options if they don't want to use it. I'm just saying that
cloud scale deployments are driving changes to infrastructure to make it more
"programmable". I'm not even saying it's "right"...Its just a observation.

~~~
digi_owl
I think you have it backwards. Sysadmins are not the ones arguing in favor of
"the one true way". That is squarely in the newer breed of developer/admin
devops hybrid that the systemd camp is pandering.

For sysadmins the _nix way of text in and text out allow systems to be as
simple or complex as they need to be, because parts can be swapped, added or
removed as needed.

The kernel don't care what your initial process is (you can for instance point
the Linux kernel straight at the sh binary and be presented with a root shell
the moment the kernel is done getting the hardware up and running), and the
programs you want to run don't care either.

Thus you can run _nix on anything from a dinky single core SoC to a warehouse
sized compute cluster.

But systemd is pandering the latter while giving the former the middle finger.
This by ignoring the text in text out loose bindings that has been the core of
*nix.

~~~
sudioStudio64
I'm not trying to be facetious...What part of X11 matches the text in/text out
-- small programs that do one thing -- mode? Even Linus says that "model"
doesn't really apply any more.

Maybe systemD and it's author's are whatever...I think that the CoreOS people
are demonstrating that programmatic administration is the best model for
massive scale. That's my only point.

~~~
digi_owl
X11 may be an odd duck out in the _nix world, but then i started as a way to
put graphical terminals on mainframes.

As such the server end started out being a beast all its own...

Still more flexible than systemd though, as i can run a X server on, say,
Windows to get the UI of a program running any kind of _nix out there.

------
atonse
> Given our changes in leadership and culture, we decided to give it another
> try and this time, because we are able to show the clear and compelling
> customer value, the company is very supportive.

Is that code for Ballmer's regime vs Nadella's regime?

~~~
dtech
It's pretty much a public secret that Ballmer was one of the last reasons why
Microsoft did not participate much in the OSS community even though a lot of
employees wanted it.

To give a concrete example of the changes (heard from a former Microsoft
employee): Under Ballmer they were not allowed to touch anything open-source.
Pretty soon after he left that was changed to a policy that a BSD/MIT open-
source solution must be used if it is available unless there's a damned good
reason.

~~~
joshstrange
Ballmer has a BAD case of "Not invented here". I remember reading a story
about him calling out and mocking an employee in a meeting b/c they has an
iPhone (this was around 2008 I think). First off it's a VERY GOOD IDEA to use
your competitors products if only to see how they stack up (Spoiler: They blew
away MS's mobile offerings in 2008 and still do to this day). Second, what a
way to make all of your employees yes-men who live in their own world shut off
from what was happening in real world. He was douche all around from what I
can tell and him leaving is one of the best things that could have happened to
MS. Ballmer took over MS soon after I really got into computers and let it
stagnate (XP/IE6) which lead me to switch to Linux/OSX and I've never looked
back. I'm not saying it's all his fault but I think he was extremely
influential in decisions that ultimately pushed me away from MS.

~~~
rogeryu
I moved away in 1999 to the Mac, and because of the incredible expensive Macs
nowadays, I'm probably going to make another move, to Ubuntu.

Still, Steve Jobs was not an easy guy either. I don't know if he would mock an
employee for having an Android phone? Not unlikely given how anti-Android he
was.

~~~
joshstrange
VERY good point and honestly one that I hadn't thought of. I'm not aware of
any publicised cases of Jobs calling out an Android phone but I would believe
it, he was an asshole. IIRC he was so anti-android b/c he saw Android as a
blatant rip-off of iOS (not weighing in here on either side).

As far as cost of macs I think it's still worth it even if you want to run
Ubuntu as your OS b/c they hold their value better than any other laptop I've
seen on the market. They also resell FAST which is very nice.

~~~
joshuapants
I buy my computers to use them, not to resell them. At this point my Macbook
Pro is worth maybe $300, and I'd be more likely to gift it to a relative than
sell it in the first place.

I also found it to be a huge pain to install Linux on it, which is why all my
Linux computers are Thinkpads (with the exception of the old HP workstation
I'm typing this from).

------
ahmetmsft
This has been my long time dream. There's so little that prevents this from
happening theoretically (obviously there's a lot of coding will be done, but
hey that's the fun part). I am very glad Microsoft is taking all the right
steps to bring two world closer: Linux and Windows.

With all the announcements around stuff like Docker for Windows Server
Containers and cross platform .NET, this was nearly inevitable. Now the server
management also steers in the right direction.

Disclaimer: ms employee doing tons of open source.

------
ised
[http://www.microsoft.com/en-
us/download/details.aspx?id=2391](http://www.microsoft.com/en-
us/download/details.aspx?id=2391)

If I am forced to use Windows in an Enterprise setting, then I just go to
Control Panel and enable the POSIX layer ("SUA"), then download the SDK and
install. With some minor changes to the %Path, it just works.

SUA has older versions of tcsh, ksh, vi and many other utilities, including an
older Perl and an old GCC toolchain that does work. It is 4.2BSD based. If you
are at home on BSD, it is like going back in time.

netcat, tmux, emacs, etc. you would have compile yourself. Maybe OpenSSH would
compile and run. I have not tried.

Perhaps an alternative to Cygwin, etc. Not "better" but different. It
generally "seems" faster and I find it's more difficult to "break" than Cygwin
which in my experience can be very "delicate". The SUA White Paper says SUA
comes to within 10% of the speed of native Windows.

The main advantage though, for me, is that this is not "unauthorized third
party software" to the extent it comes with Windows and the SDK download comes
from Microsoft's Akamai account.

~~~
wvenable
I just download GnuWin which gives you most Unix tools compiled natively for
Win32. Includes OpenSSH too.

[http://gnuwin32.sourceforge.net/](http://gnuwin32.sourceforge.net/)

~~~
jsalit
from the look of the website, GnuWin is terribly out of date and packages like
OpenSSL (I don't seen OpenSSH listed) will have lots of known security
vulnerabilities..

------
AdmiralAsshat
I happily await the day when I no longer need to install PuTTY on all of my
fresh Windows installs.

~~~
phren0logy
In a recent HN thread, someone pointed me to MobaXterm
([http://mobaxterm.mobatek.net/](http://mobaxterm.mobatek.net/)) and I have
_gladly_ deleted PuTTY.

~~~
c0wb0yc0d3r
Do you know if it has support for using an external text editor instead of the
one they provide?

~~~
joshuacc
It does.

------
squiguy7
A tweet from the OpenSSH developers:

[https://twitter.com/damienmiller/status/605865246016692225](https://twitter.com/damienmiller/status/605865246016692225)

------
kstrauser
OH THANK GOD. I'm using Ansible to manage Windows, and today that means
fooling around with WinRM. For example, that involved adding Kerberos support
to Ansible so that it could authenticate against Windows domain accounts,
because those are authed differently from local machine accounts.

Assuming the project succeeds this time around, it's going to be way easier to
incorporate Windows servers into Unix-centric management systems. That's a
huge benefit to DevOps _and_ Microsoft. Thanks!

~~~
pbowyer
Is there any noise about being able to use Windows as an Ansible host? I like
Ansible far more than the alternatives, but I can't make developers I work
with keep a Linux VM running just to run Ansible to provision a development
VM. That would be... crazy.

~~~
kstrauser
Not that I've heard, but I'm just a regular contributor and not a maintainer.
The last I heard, the chances were somewhere between "when pigs fly" and "LOL
no". Then again, at one point the idea of supporting Windows hosts was
unlikely and yet here we are.

That said, I wonder how well it'd run under Cygwin. I've never even attempted
this experiment so I don't have the foggiest.

------
mixmastamyk
Hallelujah... new package manager, modular install, and now ssh?

What's left? Perhaps a real terminal?

To bad this won't make it into Win 10, unless I misunderstood something. Looks
like my days of sneering at Windows as a toy are numbered... end of an era,
and it makes me a bit sad, _sniff_.

~~~
sz4kerto
Well, Win10 is the 'last Windows' according to MS, so this will probably
arrive as an update later.

~~~
higherpurpose
If this is like "OS X", then it doesn't mean anything. You'll still have to
pay to buy "Windows 10.1" or "Windows 10 Redstone" or whatever they will call
it.

"Last version of Windows" is nothing but marketing, just like the overhyped
"one Windows" idea. There isn't _actually_ just "one" Windows 10, is there?

Most versions of Windows 10 are not even within 10% of each other in terms of
differences. There's a much larger gap between them. Windows 10 IoT Core isn't
_actually_ Windows 10, just like Brillo isn't _actually_ Android.

~~~
umanwizard
OS X updates are free. I have installed a few since getting my Mac.

~~~
heartbreak
They were not always free; that's a recent change.

~~~
umanwizard
I know that. Regardless, they are free now, so it's not unreasonable (given
the competitive nature of the software industry) to think Microsoft's will be
too.

------
PaulRobinson
"Those who don't understand Unix are condemned to reinvent it, poorly." –
Henry Spencer

Basically, bit by bit it seems Microsoft are realising there is a ton of stuff
they need to take from the unix environment.

The comments here about how awesome PowerShell and the other tools within all
are seem to focus on everything being an object rather than being text.

So, we could fix that by basically providing a "Ruby shell" in one sweep. You
go through the standard utilities you have on unix systems, provide them as
Ruby methods on various objects (the Ruby stdlib has a great many) and provide
a means to navigate a file system easily, and basically you have the
beginnings of an object-orientated shell with the support of the traditional
30+ year old command line utilities.

What is it I am missing? This feels all a little reminiscent of when Microsoft
got all giddy about providing symbolic links... well... yeah... I mean...
what?

------
krylon
_Finally!_ PowerShell Remoting just plain sucks, at least it has for me. I've
always wondered why the PowerShell developer(s?) would do something so
needlessly contrived when SSH has been around for, like, twenty years or so.

This will definitely make my job easier! Or at least more convenient.

~~~
bigdubs
"I've always wondered why the PowerShell developers ..." Think about the
beginning of that sentence. They invented a new console language, when bash
has been around forever and C# is a better programming language generally and
can be run as a scripted language with a little finagling.

I don't think the PS team is bad (or PS itself for that matter), I just think
there was a lot of re-inventing of the wheel for no reason, and that started
way upstream of remoting.

~~~
parkovski
They didn't reinvent the wheel. Bash was intended for a Unix environment with
all the corresponding utilities.

PowerShell was designed for a Windows/.NET environment, which is undeniably
different, and they also took the opportunity to create an object oriented
shell instead of a text oriented one.

I also like C# but I do feel it makes a pretty poor scripting/shell language.

I do think SSH is long overdue, but based on the post it looks like the
developers have always been on the right track - management just wouldn't let
them do it. Really glad this is changing.

------
nsxwolf
How about a terminal window you can resize with the mouse, and effortlessly
cut and paste text, and with tab completion that doesn't do weird inexplicable
things? Do they have that yet?

~~~
McGlockenshire
There are dramatic improvements in the command prompt windows in Win10:

[http://www.hanselman.com/blog/Windows10GetsAFreshCommandProm...](http://www.hanselman.com/blog/Windows10GetsAFreshCommandPromptAndLotsOfHotkeys.aspx)

~~~
nsxwolf
Just tried it in a VM install. Seems pretty good. A long time coming. Could
use tabbed views, though.

------
graffitici
I wish Windows just became a POSIX compliant OS. I think that would solve a
lot of these smaller issues in an elegant way. Apple did a very smart job with
Mac OS X, to the point where even I switched to a Mac after having Linux for
so many years. It's incredible how I can install packages using homebrew and
friends..

Come on Microsoft, go all the way!

~~~
72deluxe
I think homebrew and MacPorts are niche though. Your "normal" OSX user
wouldn't install them. Heck, I ran Linux for years and years and I haven't
even installed them under OSX because if I wanted to run BSD or Linux, I'd
have installed BSD or Linux.

It's like installing all those GNU tools on Windows to make it more like
Linux, and putting Homebrew etc. on OSX to make it more like Linux. Why not
just use Linux or BSD? I never understand it.

Also, the lack of proper Quartz windowing support from X11 apps makes using
them painful.

~~~
graffitici
I think the key point here is this: you're right that regular users don't need
homebrew; developers certainly do. By having an analog of homebrew for
Windows, Microsoft can attract more developers, which then would translate
into a better app infrastructure for Windows. This would then clearly benefit
regular users as well.

I haven't used Windows in a very long time, but whenever I sit by a friend's
computer, I find it astonishing how badly designed Windows apps are. Certainly
Apple's fixation with design created a culture of beautiful apps. But having
more developers would also probably improve the situation

~~~
72deluxe
I'm a developer (I develop on OSX and Windows every day for my day job and at
home for myself) and I do not use homebrew. There is not anything I am really
missing, but I write C++/Obj-C and you might write something different.

It is interesting regarding the state of app design as most of the BSD or
Linux software looks odd to me! I agree that Windows has some odd looking
software but they do typically offer more features - you don't get MDI under
OSX.

------
insulanian
Well... all I can say is RESPECT!!!

But don't get lazy! We still need state of the art terminal!

~~~
zokier
Isn't ISE pretty ok? At least it has decent enough copy and paste...

~~~
hasenj
What is ISE? A link would be nice too (please?)

~~~
vmarsy
Powershell ISE?

[https://technet.microsoft.com/en-
us/library/dd315244.aspx](https://technet.microsoft.com/en-
us/library/dd315244.aspx)

------
neil_s
TIL that the Windows Dev team have a forum for engaging with users about
console features: [https://wpdev.uservoice.com/forums/266908-command-
prompt](https://wpdev.uservoice.com/forums/266908-command-prompt)

Back when I interned at MS in 2013, people were alarmed when I spoke to users
on some forums about their complaints because I was designing a related
feature. We had to check with legal whether I would have to delete all my
posts!

------
techdragon
Wow. Just wow. This is something I never expected to come from Microsoft. They
may in fact be changing for the better.

------
homulilly
This is great but I'm still sticking to MinTTY/Cygwin for SSH until Windows
gets a decent terminal program.

------
w8rbt
I hope that Microsoft donates money to OpenSSH/OpenBSD. The way I read this,
they indicated that they would.

    
    
        "I’m pleased to announce that the PowerShell team will support and contribute to the OpenSSH community."

------
jsingleton
Good news! WinRM is a massive pain. The hoops you have to go through to
bootstrap a fresh Windows image to get to the point you can run PowerShell is
crazy.

~~~
j_s
Until SSH support arrives, be sure to check out how BoxStarter does things!

[http://boxstarter.org/](http://boxstarter.org/)

------
Yaggo
Seems that Windows is adopting more and more * nix stuff. I wonder why one
uses Windows in the first place if * nix stuff is what she needs?

~~~
krylon
As a Windows admin and long time GNU/Linux / BSD user, I would totally _love_
to replace every single Windows at our company with a Unixoid system. But
there's a lot of software we use that either is not available on non-Windows
platforms, where no decent replacement exists and/or migration is considered
to expensive. If, say, Autodesk ported their software to some free Unixoid
system, that would go a long way. But AFAIK, that is not going to happen
anytime soon.

~~~
72deluxe
This is very true. The Windows software market is colossal, and the ability to
run software from decades ago is a feature not found on any other OS group
(Linux + OSX included).

I know we all like to think and strangely wish that we could replace Windows
server with Linux boxes and Windows desktops with Linux desktops but the sad
truth is that there is no good replacement for Exchange or Active Directory
(and the myriad of extensions that you can install into it; even writing one
isn't that hard), including all the mobile OS support for mail on it (and
calendars), nor is there a Linux desktop that would be instantly comfortable
and navigable to 90% of Windows users. My mum would be lost, for certain. I
would be lost under Unity or GNOME3 (only with blind rage I feel).

It's a bit of a pipe dream, or very unrealistic. And I say this as a fan and
user of all the major systems (and having been Linux and Windows sysadmin in
the past).

~~~
krylon
Well, as far as Active Directory goes, I think it is possible to run a
"Windows" domain using Samba.

But apart from that, I tend to agree. I still want to believe it is possible
to get Windows users comfortable on a Unix desktop, it works with OS X, after
all. But practically speaking, you are right.

~~~
72deluxe
You can run the domain but I don't think Samba implements Users and Computers
plugins etc. does it? I wrote one (the version 2 SDK was unfathomable, the SDK
version 3 in C# was much better). It let us add extra fields into AD (just
like any LDAP implementation) and then present extra tab sheets within AD
users and computers for configuring additional external services that we had
written (we wrote some middleware to communicate with Cisco Call Manager etc.
so they could configure their phone system from Active Directory, very
useful!)

The clever thing with OSX is that it is Unix but 95% of the OSX users don't
know it is, nor do they care, nor do they know what UNIX is. OSX is Stealth
Unix. Clever.

~~~
krylon
> You can run the domain but I don't think Samba implements Users and
> Computers plugins etc. does it?

Do you mean mmc.exe snapins? I have to admit, I never tried.

> OSX is Stealth Unix. Clever.

The integration of X11 into the desktop is pretty poor, and I miss a decent
package manager like apt-get or yum. Apart from that, I completely agree.
Apple has managed something quite impressive by building an operating system
that is a Unix to techies and a comfy, user-friendly desktop to the rest (and
to the Unix people).

~~~
Yaggo
Just out of curiosity, don't you consider homebrew "decent" or do you want
official package manager from Apple? (App Store effectively being Apple's
solution?)

~~~
krylon
I use MacPorts which works well enough, but it would be nicer if something
comparable came as part of the base system.

Specifically it is annoying that the compiler does not find headers and
libraries installed through MacPorts by default. Yes, you can tell the
compiler to look for those headers and libraries easily enough. But compared
to the experience on, say, Debian, it is slightly annoying.

Having said that, let me point out that I have owned a Mac for ~19 months now,
and while my initial plan was to give OS X a quick try, then install Debian, I
have not done so.

Also, if somebody has experience with both homebrew and MacPorts, I would
appreciate if that someone could tell me about the differences and the
respective pros and cons of both.

------
baby
Getting there slowly... For the moment I use `babun` and everything works
well. [http://babun.github.io/](http://babun.github.io/)

~~~
unexistance
thanks for the link :D looks great, as I am currently STILL using UnxUtils
plus other stuff

------
yellowapple
The only thing left for them to do is to include Cygwin (or some equivalent)
as a built-in Windows feature.

Hell's not only freezing over, but freezing everything else with it. What a
time to be alive.

~~~
72deluxe
Lots of people keep saying this on this thread, but why would you want GNU
tools on Windows ? Have you ever wanted to put Apple's runtime on your Linux
box? Or MSVC runtimes on your Linux machine?

Weirdly, everyone wants the opposite.

~~~
yellowapple
I'm not interested specifically with GNU's tools, just standard Unix tools in
general; Microsoft could easily use Cygwin (for example) as a reference point
for porting/packaging the BSD userland to/for Windows, for example.

> Have you ever wanted to put Apple's runtime on your Linux box?

Not in that sense, but a Linux + BSD userland would be neat. Apple's runtime
is basically that minus Linux plus Mach/XNU plus Cocoa.

> Or MSVC runtimes on your Linux machine?

Good God no.

> Weirdly, everyone wants the opposite.

Not universally true if you count Wine as "MSVC runtimes on your Linux
machine".

~~~
72deluxe
Out of interest, what's wrong with MSVC runtimes? Plenty of software has been
written using it.

Doesn't Wine basically implement MSVC runtimes?

~~~
yellowapple
And said software is typicaly bloated and buggy relative to its Unix
counterparts. The MVSC runtimes are popular solely because Windows is popular.

Wine is a stopgap for software that's still reliant on Windows. The preferred
approach would be for that software to instead be properly ported, which would
include using a proper libc and executable package format (like ELF).

That said, my opinions aren't representative of everyone in the world. There
are projects like Wine and (more interestingly) winelib that implement the
MSVC, and those are popular projects (the former more popular, though the
latter closer to being solely MSVC on Linux).

~~~
72deluxe
So are you saying the C++ STL under Windows is poorly implemented and causes
sudden executable growth? (Admittedly, std::max has performance problems under
VC2010 but that's kind of old)

Software bloat has nothing to do with the runtimes. It's how people use the
runtimes that's the problem. Saying that the runtimes cause software bloat is
a massive generalisation.

When I use the MSVC runtimes my software isn't bloated. I compile the same
code under OSX and Linux and it also isn't bloated there. In fact, under OSX
it uses far more RAM, and I have to bundle along dylibs with the executable
inside the .app itself in order for it to be usable. This makes my OSX app far
far larger than my Windows binary, which just relies on the MSVC runtimes.

Interestingly, my software doesn't crash either. If the MSVC runtimes were
"bloated and buggy" then I would be crashing all the time, but my programs
don't....

The executable format under Windows was originally designed to be portable -
hence PE (portable executable). Just because they abandoned the other
platforms (outside Intel land) does not make the binary unportable.

------
finnh
not to be too snarky, but perhaps "looking backward" would be a better title
=)

(don't get me wrong, I love my ssh and am glad to see msft supporting it for
real)

------
outworlder
YES!

Now, can we please get a proper terminal? :)

~~~
72deluxe
PowerShell? Unless you mean the normal Unix terminal, which is 40 years old?

I jest, somewhat.

You oddly never get BASH users complaining about the lack of Batch file
support, but it is always vocal the other way around.

------
yuhong
It is interesting that this is part of PowerShell and not Windows, unlike
Telnet.

------
tammer
I made an uncomfortably audible gasp of shock upon seeing this. Server
versions of Windows have been heading in a console-only direction for a while
now but the complexity of PowerShell remoting really didn't make it feel like
a feasible solution.

This completely changes the windows admin game.

------
gionn
First they ignore you, then they laugh at you, then they fight you, then you
win.

------
ninjaoxygen
This would be great if they implement an SSH server, but I'm guessing the
shell it connects to is PowerShell, rather than a sh derivative, so many tools
many not work with it?

~~~
yellowapple
It wouldn't be much different than, say, Cisco switches/routers, which (IIRC)
also are managed over SSH but implement an atypical shell oriented around
network configuration.

So yeah, most tools would need to be adapted to manage Windows. A first-party
Cygwin equivalent would be a good next step to ease that particular pain
point, but said pain point is much easier than, say, having to install an SSH
server yourself.

------
shmerl
MS is finally waking up. I guess new CEO has some positive effect.

------
boomlinde
I've been doing something similar using a virtual machine running Windows 7
and a whole host of really stupid VPN solutions to connect to customer
networks. I ran sshd via Cygwin, which logged me into /bin/sh, from which I
could actually start cmd.exe. Presumably, I could also have started PowerShell
had I tried it.

It's nice to see that they are offering an official way to do this.

------
owenfi
As an only occasional Windows user, I wasn't sure what PowerShell was (sounds
3rd party to me, a la Cygwin).

Turns out it is a 1st party command line tool and scripting engine. From a
glance it looks to use similar syntax to CMD.exe, but sits side-by-side with
it, not built on top.

~~~
dspillett
Looking at it from a Unix-a-like background Powershell provides a script
capable shell (ala bash and friends) including built-ins that do useful stuff
in some of the posix and gnu externals commonly called from shell scripts.
Rather than working primarily on text and streams like most unix-a-like shells
it is object based. Through the relevant modules and the objects they provide
it allows pretty complete interaction with the Windows management
infrastructure so in the right hands it can be very powerful. See
[http://en.wikipedia.org/wiki/Windows_PowerShell](http://en.wikipedia.org/wiki/Windows_PowerShell).
On any Windows machine that isn't obsolete or close to (the 2003 editions fall
out of support very soon and XP already has, anything newer had PS integrated)
you'll find at least v2, usually v3 or higher.

I keep meaning to find a good book or online reference and spend some time
properly learning how to use the thing... For some things it'll replace my
need to have cygwin installed everywhere, and it might allow me to do some
stuff "better".

------
mrweasel
Wonderful, and I am a bit interested in seeing how well the Microsoft guys and
the OpenBSD/OpenSSH team is going to interact. I have no doubt the the
Microsoft developers are nothing but professional, but still the OpenSSH
people seem to have pretty high standard.

------
libraryatnight
I spend a good majority of my day doing administrative tasks in Windows and
o365 where PowerShell is a god send. There have been more than a few occasions
where I wished for SSH capability, so this news is fantastic.

------
sandGorgon
I dont know if anyone has used Git Shell on Windows. I do a lot of Python
programming on windows and git shell is spectacular - inbuilt ssh, git, vim
and a full linux userland.

------
jjcm
This is a big step, I'd love some MOSH support too though.

------
2close4comfort
WOW that is a huge step for M$ maybe there is still some surprises left for
the new order within Microsoft. I for one welcome a replacement to PuTTY.

------
baconhigh
so windows users might finally be able to download a verifiable/signed and
maybe "trusted" application to use ssh with?

([https://noncombatant.org/2014/03/03/downloading-software-
saf...](https://noncombatant.org/2014/03/03/downloading-software-safely-is-
nearly-impossible/))

~~~
rbanffy
Cygwin has the terminal part of PuTTY built from source. Install Cygwin with
MinTTY and you get ssh with bash (and a whole lot of Unix-like niceties) for
free.

------
SwellJoe
About damn time.

------
grogenaut
If but I could send this moment (and recent ones) back in time to the slashdot
of 2005...

------
fapjacks
I guess better late than never, eh?

------
malkia
Born Again Microsoft! Great stuff!

~~~
lucb1e
Is this a reference to the bash shell? (Bourne Again SHell)

------
lucaspottersky
yeah, never too late i guess? it took more than a decade to make such a
move...

------
pldimitrov
rip putty

------
joshrivers
Oh thank god!

------
geff82
Hell is freezing over at 0K. Oh my god. Wow.

------
haosdent
+1

------
noveltyaccount
What's next? Powershell for Linux? Powershell for Mac?

(Pretty please?)

Powershell's piping of .NET objects is so brilliant compared to Bash piping
and parsing of text.

~~~
tacticus
Why not just use one of the many other languages available.

You could use ipython if you wanted object handling. Now i wonder what would
have happened if they didn't have gates or ballmer upstairs and they wanted to
implement a new shell.

------
jadeddrag
I'm looking forward to MS just dropping their OS entirely and using linux as
their back-end. Basically, Microsoft might be better off creating their own
linux distribution running a "microsoft windows" windows manager.

~~~
talideon
Come back to us when you've found a way to implement the good stuff that
Windows has, such as IOCPs: [https://msdn.microsoft.com/en-
us/library/windows/desktop/aa3...](https://msdn.microsoft.com/en-
us/library/windows/desktop/aa365198%28v=vs.85%29.aspx)

And no, epoll isn't enough.

~~~
floatboth
If I remember correctly, the node.js team needed a lot of help from
experienced Windows developers (even from Microsoft itself??) to add IOCP
support to libuv.

I think kqueue is the best (well I guess I'm a BSD fan :D) but in general: app
developers generally don't care about this, they just use libuv or libevent or
something like that.

Does Windows really have "good stuff" for developers? .NET is excellent, but
the lower level APIs look horrible. (And the CP/M / DOS era files stuff –
drive letters, file extensions that actually matter – makes me very unhappy.)

Jails, ZFS, DTrace, FUSE, netmap, PAM, pf – that's good stuff!

~~~
cwyers
That doesn't make IOCP worse than epoll, it's just not the same as epoll. Look
at PyParallel:

[https://speakerdeck.com/trent/pyparallel-how-we-removed-
the-...](https://speakerdeck.com/trent/pyparallel-how-we-removed-the-gil-and-
exploited-all-cores)

~~~
talideon
Exactly! And that's an excellent presentation that outlines what's really cool
about IOCPs.

