Microsoft To Support SSH In Windows and Contribute To OpenSSH
An anonymous reader writes: Microsoft has announced plans for native support for SSH in Windows. "A popular request the PowerShell team has received is to use Secure Shell protocol and Shell session (aka SSH) to interoperate between Windows and Linux – both Linux connecting to and managing Windows via SSH and, vice versa, Windows connecting to and managing Linux via SSH. Thus, the combination of PowerShell and SSH will deliver a robust and secure solution to automate and to remotely manage Linux and Windows systems." Based on the work from this new direction, they also plan to contribute back to the OpenSSH project as well.
it's only 2015 guys...
now you can use Windows computers the way they were meant to be used, as dummy linux clients
Are M$ getting sensible in their old age?
John_Chalisque
You mean I don't need to install Cygwin anymore like I have been doing for the past 15 years to accomplish just that?
Next proposal: implement rsync natively...
Everything I write is lies, read between the lines.
* I remember joking about connecting to a 'doze server via SSH in 2005. Usually the response was a disgusted shiver.
* I guess Microsoft finally got sick of seeing PuTTY's hegemony in the terminal/SSH client market, and decided that this, *this* was a market they could finally dominate in this day and age?
* I shudder to think of how bastardized the command options are going to be, given the PowerShell's habit of using stuff like '-omgLookAtThisMassiveOptionNamingConvention', to the point where they have to alias a frickin' option...
Ah well, good on 'em. I'll stick with using Linux and OSX clients, thanks much.
Quo usque tandem abutere, Nimbus, patientia nostra?
In which case they will have to release the code that corresponds to binaries - would be useful for checking that there is not some little tweaks to help the NSA -- but if they have already put those into the system DLLs (eg for encryption) we would not really know. Maybe I am too cynical but I am very suspicious of what they did to skype.
No. Cygwin runs everything under one process. This will run separate processes for each SSH session, with privilege separation. Cygwin also uses its own /etc/passwd. This will use local windows users, and, hopefully, AD users.
And code will be sent upstream.
Much better if this works out.
Maybe. Assuming Microsoft makes a proper SSH client that is as good as PuTTY, instead of software like that piece of shit called HyperTerminal from way back when, which almost always couldn't establish a proper working terminal with anything, had basically no file transfer support (or rather, it had very buggy and limited support,) and required a very annoying (and mostly pointless) setup process each time you wanted to connect to a different host.
Then again, why not just fork and bundle PuTTY? But do something to make the sessions easily exportable (I really hate how PuTTY stores those in the registry by default.)
In fact, it would be awesome if the registry just disappeared entirely. I haven't met anybody who actually likes it, and god knows it's been a dream come true for malware authors who want to hide shit (easy to do since it's so big, maze-like, and unwieldy for anybody to sift through.)
Too bad opening an SSH into Windows will drop you into the complex abomination that is PowerShell.
The world's burning. Moped Jesus spotted on I50. Details at 11.
name of the company: SSH Communications Security
since they grabbed a lot from open source in the beginning, I guess they allowed openssh to develop an open source version.
The original SSH version is still proprietary nowadays.
Everything I write is lies, read between the lines.
What piece of code would the Open SSH project possibly want from any developer?
It's not like it's defect-free software that requires no more development.
https://bugzilla.mindrot.org/s...
I think it will be the MS cli interface helper, sshclippy. "It looks like you're trying to ssh into a remote server. Wouldn't you like to use RDP instead?"
Eloi are stupid, throw morlocks at them!
complex abomination
That's funny. I find PS slow and lacking basic functionality in a few areas, but "complex" is one of the last criticisms I would make. Compared to DOS or Bash, it's very straightforward and intuitive.
The Daddy casts sleep on the Baby. The Baby resists!
ssh and openshh: ssh is proprietary
solaris and opensolaris: solaris is proprietary
apache and no openapache: apache is open source
Everything I write is lies, read between the lines.
You know it's going to be just yet another way of hacking into a Windows box.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.
As long as by "complex abomination" you mean completely standardarized switch syntax with tab completion and integrated help.
Jeremy
Losing nearly a billion dollars over an 8 year period, firing four-thousand permanent staff, and being dead last in search and browser rankings will do strange things to you. Steve Ballmer shoulders some of the blame for the nosedive with his nearly cult-like adherence to the redmond ethos of embrace-extend-extinguish in the face of a brand like linux that just can't be killed with it. But to think after 15 years as other slash dotters have commented that this will make any significant dent in the status quo is self-defeating at best.
SSH gives windows users the ability to do real work, and thats a controversial sentiment but in most large corporations admins that handle LAMP, percona, or hadoop do it from a windows machine by company policy. Microsoft doesn't understand that outside of email and office, the real juggernauts of industry are so far removed from redmonds product line it may as well be a different language entirely. conceding a pittance, this ssh, and promising to commit code to openssh do two things. One, they add continued relevance to windows in an office environment that otherwise is the next prime target to be extinguished as quickly as the home market for windows. Two, they provide code to openssh not because they have any particular valuable insight to add to the project which has handled itself just fine for 15 years, but because they need to ensure their openssh implementation actually works with other well-established and quite serviceable implementations. So don't expect any real innovation.
Good people go to bed earlier.
Granted, Powershell 1.0 was pretty horrible, I don't get all the Powershell hate. Have you even tried to learn to use recent versions of it?
I absolutely despised it back when I was deploying Exchange 2007 RTM on Windows Server 2003, but that's going back almost a decade.
These days I use Powershell for a ton of stuff. I love the fact that everything is an object. For example, manager asks me for stats from AD, powershell script requesting user objects and filtering the appropriate fields, BAM, create a CSV, pretty it up in Excel and send it off to my manager.
Plus tying into .NET is kick ass too. I've got scripts that update and extract data from MSSQL, amongst other things. Hell, I even played with scripting text to speech alerting just to see if I could, and it was really easy!
Give it another try, it's actually a lot better
And no, before I'm labelled an MS evangelist: I've worked for 2 ISP's in 100% Linux and BSD environments and have thoroughly used at least 7 or 8 different distro's, I run Linux at home for NAS and Asterisk PBX and I own and operate 2 Macs - in addition to my Windows Desktop PC. My current role just happens to be maintaining a 90% Microsoft Environment
Probably the best thing they can do is throw resources at it, hire an existing dev to do it full time sort of thing.
No sir I dont like it.
You obviously haven't ported OpenSSH to a different OS before. Even among Unix/POSIX-like OSes, there is significant variance between platforms that something like OpenSSH has to deal with. Go look at the diff between OpenBSD OpenSSH and portable OpenSSH (for all the other supported platforms).
Also, portable OpenSSH uses extended security features that tend to be platform-specific (but useful enough to make it worthwhile to use on each specific system). I expect that there is Windows security functionality that doesn't map onto the current OpenSSH setup (but is worth extending OpenSSH to use).
I really hope that Microsoft makes a native port of portable OpenSSH to Windows. Nothing against the Cygwin folks (the Cygwin OpenSSH is great), but a native port that is more integrated into the "Windows" way of doing things would be good.
That, for example, in order to ssh into a remote Windows system you'll have to use Microsoft's ssh-client — because they'll use some funky cipher/digest combination or some other "extension". They did it to Kerberos before...
Or that interactive logins will only work on certain terminal emulators — because nothing else will be able to properly emulate powershell's window — just imagine the termcaps entry...
In the link I gave there is a large list of Microsoft's earlier attempts to kill a standard by first adopting it — read it up...
In Soviet Washington the swamp drains you.
PuTTy is already an incompatible mess all of it's own. It even has it's own special format for keys, so we get the joy of running every ssh key generated on a *nix system through puttygen.exe just to spit out some fugly PPK file. Oh, you need me to add your public key to authorized_keys? What's that you say? You used puttygen? Well fuck me, time to look up the command to convert that stupid shit again. Wonderful!
Not to mention the fractured disorganization of the configuration, the crap profile system and all the other reasons why PuTTy is a pain in the ass.
The fact that Microsoft is talking about using OpenSSH means at the very least the key files will be compatible. I have no idea why no one bothered porting OpenSSH to Windows before, but it's about damn time! I'm looking forward to a version of PuTTy (or KiTTy, actually) that uses the native OpenSSH instead of the existing legacy PuTTy implementation of SSH. I'd love to delete all those PPK files and never see another one again as long as I live.
Celebrity worship is a poor substitute for Deity worship and costs more to boot.
It's really powerful and a lot better than trying to use sed or perl to parse the output of programs in shell scripts.
Exactly! It's so much better to have to pipe the output to something just to print to the console! Hurrah for objects! /s
You're misinformed. PowerShell defaults to the console.
The Daddy casts sleep on the Baby. The Baby resists!
Or they'll expect remote servers to implement whatever changes Microsoft will require for interoperatibility. We've been through this in the 1990-ies, when Microsoft's Internet Explorer was introduced with subtle incompatibilities in HTML-rendering...
And how has that worked out? Back then that affected personal computing - an area which Microsoft had a monopoly - and it still ultimately failed. This is across desktop, server and mobile, this conspiracy theory of yours has no chance at all, in fact you don't even posit what Microsoft would gain out of it.
Well, a successful attempt is still an attempt: Netscape died.
But it failed, you need to learn your history: Netscape lived on thanks to Mozilla and now we have IE dying in favor of open standards, Microsoft themselves are killing IE in favor a browser that does not even support proprietary extensions like ActiveX.
Or not — depending on the nature of incompatibilities and the marketing/advertising...
Incompatibilities would make people less likely to use Microsoft's implementation, not more likely. You don't seem to understand that this isn't the 90s anymore, Microsoft doesn't even come close to dominating computing these days. Breaking their product just locks them out of the market, not everybody else in.
K. Construct a for loop in PS that lists a directory and adds the words "This is cool" to the 13th line of any file of type "text" without downloading a module.
Off the top of my head (and using verbose commands to make it more obvious), I got:
dir | where -Property Extension -match '.te?xt' | foreach {
$i=0;$s=(Get-Content $_.FullName);
$s | foreach { if ( (($i++) % 13) -eq 0) { $_+" This is cool" } else { $_ } } | Set-Content $_.FullName
}
I haven't thought of a way to do the file type determination (other than by the extension), but that will do just for a post to an AC. It can all be done on a single line; I added the line breaks and indentation so it wasn't a big line of gobbledegook. Now it is several lines of gobbledegook!
The impressive part of the tab completion of Powershell is how context sensitive it is. When I typed the where command, I entered -p<TAB> and it expanded it to -Property (although just -p would work too). But the fun part was that I could then type e<TAB> and then go through the list of property names that are returned from the dir command that begin with the letter e; first Exists, then Extension. So it was aware what was being passed to the where command on the pipeline and returning the correct properties for that object.
So if I typed the following:
get-content "file.txt" | where -Property
...and pressed the tab key, it gives me the property name of Length as it knows that it is returning a string rather than a file. The same where command will work on (and give appropriate tab completion) on a directory listing, file output, database query, or XML tree list.
Indeed. I expect one of the things they'll be looking at doing is adding support for some of Windows' built-in authentication options. For example, recent versions of RDP use machine certificates, typically with a trust-on-first-use model similar to SSH. It would be nice if SSHing into a Windows box could re-use that machine cert, and SSHing from a Windows box could take advantage of the list of IP+cert pairs that you already trust. This would require some code changes to OpenSSH though, since it is of course currently utterly unaware of Windows' certificate stores.
Also, powershell isn't really used to displaying to anything except Windows consoles. Just for the hell of it, I tried running it in xterm (which, while antique, any *nix program would be OK with) by SSHing into a Windows box. It launched, but trying to run any commands - even exit - appeared to hang (though Ctrl+C worked to exit out of PS entirely). This may not be something that Microsoft needs the help of the OpenSSH devs to fix, but it's something that needs to be fixed, regardless. If people can SSH into Powershell, then Powershell needs to be able to display to whatever console they're SSHing from.
There's no place I could be, since I've found Serenity...
Maybe. Assuming Microsoft makes a proper SSH client that is as good as PuTTY, instead of software like that piece of shit called HyperTerminal...
If I remember correctly, Microsoft didn't make HyperTerminal. They either bought it or licensed its use in Windows.
"A plan fiendishly clever in its intricacies"- Homer Simpson