23 ms·
Secure Shell chrome (killer) app
- hiker 14y agoI used to spend 99% of my time in Terminal and Chrome. Now I can start spending 99% of my time in Chrome.
- AjithAntony 14y agoEdit: I take back my comments about the keyboard shortcuts: http://git.chromium.org/gitweb/?p=chromiumos/platform/assets.git;a=blob;f=chromeapps/hterm/doc/faq.txt#l392 http://git.chromium.org/gitweb/?p=chromiumos/platform/assets...
- ecspike 14y agoWhy? Can't you just make it full-screen, that's what I do.
- deleted 14y ago[deleted]
- c0nsumer 14y agoNeat, but it's be very nice if it automatically used the configured HTTPS proxy.
- iandanforth 14y agoThis is freaking awesome. I have been waiting for this for so long. I look forward to using this all day to see how it holds up.
- gabeiscoding 14y agoVery cool, but I fired up an emacs session and hit Ctrl+N to start scrolling through a file.... doh!
- j_s 14y agoThey list a few caveats: http://git.chromium.org/gitweb/?p=chromiumos/platform/assets.git;a=blob;f=chromeapps/hterm/doc/faq.txt#l114 http://git.chromium.org/gitweb/?p=chromiumos/platform/assets... no ssh keys, no port forwarding, Chrome 19 + "Open as Window" for some shortcut keys, etc.
- roadnottaken 14y agohtop breaks it, too -- but it actually does a pretty good job considering how complex the output is.
- rginda 14y agoI think the htop bug was fixed by https://gerrit.chromium.org/gerrit/21255 https://gerrit.chromium.org/gerrit/21255. You should get it in the next version of Secure Shell.
- mp3jeep01 14y agoReally interesting, would be even better if it parsed my SSH config file. Interested to see how this progresses.
- philjackson 14y agoI can't believe how great it looks and how responsive it is. I've been running an emacs client in it for a while and other than C-n opening a new window it's practically perfect. Huge props to the team who wrote this.
- cgs1019 14y agoI think you can run it in some kind of app window mode which avoids issues like c-n, c-w, etc. Not sure if it works in a tab though.
- sprayk 14y agoI believe this is the same terminal that replaces urxvt as the non-VT terminal in the newest version of ChromeOS (IE the one you access with Ctrl-Alt-T). I was worried when I switched to the dev channel on my Cr-48 and crosh opened in a new tab instead of a chromeless window.
- andrewguenther 14y agoI think this is the same shell as the one included with the latest release of Chrome OS (Aura UI).
- aidos 14y agoWorks really well, nice and quick. Call me stupid, but I'm not actually sure how to launch it (clicking on "Launch App" from within the webstore works but that's surely not the only way).
- driverdan 14y agoOpen a new tab and click the arrow on the right or click "Apps" at the bottom of the screen.
- magicalist 14y agoI believe there's also omnibox completion on app names (though maybe you have to use it a few times first)
- Karunamon 14y agoWould be nice if they installed an ssh:// URI handler
- aidos 14y agoI did actually try that in the hopes it would work. Onmibox completion is doing the trick for me now.
- magicalist 14y agooh, good idea. I wonder if navigator.registerProtocolHandler works in apps? I tried adding it manually in settings->Content Settings...->Handlers, but it only allows you to select handlers on sites that have already requested permission, not add new ones (as far as I can tell).
- ig1 14y agoHas anyone code reviewed this to make sure it's not stealing credentials, etc. ?
- dangrossman 14y agoBeyond that, you must trust the author, since Chrome may auto-update the extension to a future version that could steal credentials.
- rginda 14y agoYes, this. Though, this is also the case with any other app you may hand your credentials to. FWIW, it was reviewed internally by Google security people before going live.
- mgurlitz 14y agoThe author (rginda, http://www.hacksrus.com/~ginda/ http://www.hacksrus.com/~ginda/) is a Google Chrome developer. You're probably already trusting his code by running Chrome.
- eps 14y agoCan you vouch that he packages this extension on a machine free of trojans, viruses and backdoors? Hm.
- kibwen 14y agoI, er, meant to upvote this, but hit the wrong arrow. :\ Consider this a moral upvote.
- vhost 14y agoTmux seems to work wonderfully. I bet Chrome Book users are stoked.
- ecspike 14y agoYup, I am. Because I changed my prefix to Ctrl-a, none of my combos clash.
- VeejayRampay 14y agoAs killer as it is, it says it's a beta and it has known bugs on the page. Use with caution.
- driverdan 14y agoVery cool and so close to being useful. Until you can use certs and use them safely it isn't very useful though.
- ajross 14y agoI don't know that this really rises to the level of a "killer" app. Serious ssh users are, of course, already quite happy with their terminal emulators and use platforms that support them natively. I find it very hard to believe (though I'm willing to be surprised) a chrome extension is going to present me with the performance, platform integration, or keyboard navigability I get and demand from gnome-terminal. I'd probably be happy using it from friends machines, etc... What this will do, however, is hopefully end for good the mess of "How do I expose a command line application to my windows-using friends such that they aren't confused and won't hate me.". And there's a whole lot of value to that.
- rsl7 14y agoWhy are we happy? We are not. Terminal emulation needs to die, but as you point out, there is no reasonable substitute yet. I have enjoyed toying with interesting experiments like the MPW shell, and I support every attempt to replace or kill the ridiculous anachronism that is termcap. It's like we're the SCA and unix is our ren fest.
- keturn 14y agoI was talking to someone recently who likened it to a shifting pendulum. For a while, he told me, terminal control languages were sufficiently complex that you could send a program to run _on the terminal_, and then things shifted back to running things where you store them on the server. Now there's HTML5 and javascript, the world's most complicated terminal control language.
- ajross 14y agoI'm not sure that I disagree: the terminal implementation in modern unix is a terrible mess. But the terminal metaphor (a command line being fed by a keyboard and displaying to a scrolling window of text) is nearly perfect, and won't by dying any time soon. And ssh is fundamentally just a data pipe for that metaphor anyway.
- jrabone 14y ago
- gfodor 14y agothis is insanely awesome. as it stands right now, yes its "just ssh". But open up the developer toolbar and you'll notice this thing is rendering HTML inside of webkit. It doesn't take a genius to see this is a few baby steps from making it possible to render arbitrary graphics in the shell. edit: I might go out on a limb here and say this project is something that is going to be looked at as a real inflection point a few years from now.
- jeff18 14y agoCheck out TermKit as a pretty awesome proof of concept for this: http://acko.net/blog/on-termkit/ http://acko.net/blog/on-termkit/
- gfodor 14y agoAh yes, I was trying to remember what the name of that project was. Seriously, with a few tweaks this will allow you to write console apps that can check termcaps to decide if they should be writing out HTML. From there, you can imagine building a "websh" that does the right thing to enable all of those TermKit ideas.
- gcb 14y agoas the day SSH became vulnerable to CSS cross-domain exploits :)
- adgar 14y agoAny input receivable by OpenSSH, regardless of whether it is valid user input or malicious input being delivered by a cross-domain attacker, mustn't result in exploit. If so, it's a bug in OpenSSH, not the fault of the developer who integrating the existing OpenSSH code into a new environment. Unless, of course, the developer integrating the existing OpenSSH code did so in a way that's not the formal OpenSSH interface. Like if he had to do some kind of dirty hack. But he shouldn't have to for this project.
- jsight 14y ago
- drivebyacct2 14y agoI thought NaCl couldn't open raw (tcp) sockets? I thought it was limited to WebSockets.
- wmf 14y agoApps may have fewer security restrictions than pages.
- drivebyacct2 14y agoNaCl apps are only usable right now via the Chrome Web Store, unless you've manually enabled them to be allowed elsewhere.
- rginda 14y agoThis app is part of a small whitelist of apps that can make this type of connection. It's a temporary solution though. The Chrome team is working on ways to make the functionality more widely available.
- trotsky 14y agoJust got through scouring the pepper 19 docs for any mention for how this was done. Exciting to see this kind of functionality enabled, but apprehensive about chrome apps developing into an android style permission nightmare. Perhaps if the user always had the ability to arbitrarily revoke permissions and block them by default.
- drivebyacct2 14y agoThis is incredibly exciting, if not also a bit scary. Thanks for the info.
- blasdel 14y agodamn it was an inside job! :) I'd been checking every few months for the last several years to see if sockets were available in NaCL, for this exact killer app (along with a vnc/rdesktop client) Sad that it had to be done with an internal whitelist, but I'm mostly just happy that it exists for me to use even if I didn't get to write it!
- eridius 14y agoCan someone please explain to me why I would possibly want to run a terminal emulator inside of my web browser, instead of just using the terminal emulator app that my system ships with?
- rsl7 14y agoBecause!
- lmichelbacher 14y agoWindows doesn't have good terminal emulator. This extension is almost like having gnome-terminal on Windows. SSH into a remote machine and you have the usual keyboard navigation that the Windows "terminal" doesn't offer.
- jasomill 14y agoSure, but I can download and run PuTTY directly from its download page faster than I can log in to my Google account on any machine where the credentials aren't already saved. The Chrome extension could be nice for preconfigured "many-to-many" single-sign on from/to a number of hosts with a (hopefully encrypted) RSA key, however.
- masukomi 14y agoTHANK YOU. I seriously do not get this app. Yes, they may have done a great job, but i don't get why i would want to use it. I can't use it on someone else's desktop because i'd have to install crap in their Chrome. I wouldn't use it on my desktop because I've already got a good terminal app that I've tweaked to be just the way I like it. Nevermind "killer" app... why is there ANY need for this? I feel like I'm missing something very obvious.
- maratd 14y agoChrome OS? Your Android phone? Windows? I can't work on a Windows machine without installing SecureCRT or Putty. One less thing to install and tweak.
- wavephorm 14y agoDoes it work in the latest (hexxeh) ChromeOS release?
- Arcanis 14y agoDoes not work with local area network. I've tried to ssh on my VM.
- andyl 14y agoIs there a way to install this plugin without signing in to Google?
- sequoia 14y agoI opened chrome to check this out, but it wants me to "sign in" to install the extension. For me this is a bridge too far: I don't care to tell google about every single extension/application (extensplication?) I'm using. Like many people, I'm trying to step back from google/facebook snooping, and this would be a solid step toward such big brothering. I suppose next they'll see what email providers I use and whom I correspond with with mutt or whom I chat with on other services with finch etc.. Why expand google's data-gathering "attack surface"? And all this for... (?) what does this offer that sets it above my current terminal client? Someone please tell me if there is any technical reason I should need to sign in to add an extension (in particular this, or some game).
- Karunamon 14y ago>For me this is a bridge too far: I don't care to tell google about every single extension/application (extensplication?) I'm using. Oh for pete's sake... Is there anything to this " I suppose next they'll see what email providers I use and whom I correspond with with mutt or whom I chat with on other services with finch etc.. Why expand google's data-gathering "attack surface"? Or is it further chicken-little, slippery slope conjecture with no basis in reality? Keep in mind that you're connecting to their web store to download this, even sans login. That means they have your IP, and a metric ton of identifying information about you via your browser fingerprint (ala Panopticlick). Complaining about signing in just seems rather silly. Oh noes! They know that you downloaded an extension! You'll have to forgive me for being blunt. This particular absurd line of thought is starting to seriously become an annoyance - even the chans have latched onto it. Correcting people who have the wrong idea is getting old.
- mverwijs 14y ago> You'll have to forgive me for being blunt. "You'll have to forgive me for being rude, obnoxious, conclusion-jumping." Fixed that for ya. You're welcome.
- Karunamon 14y agoRude? I wasn't aware that pointing out something has no basis in reality is rude. Obnoxious? Don't post misinformation and you won't be challenged. Conclusion jumping? What conclusion did I jump to? And as far as making "Fixed" posts go.. doctor, heal thyself ;)
- base698 14y agoGREAT! Now Google can mine my shell for AdWords. I look forward to seeing what Ads I get on android after a good fsck
- lawnchair_larry 14y agoThis is cool hack but a terrible idea. Why do I want some bloated web browser wrapping a lightweight terminal?
- serge2k 14y agobecause having a web browser just be a web browser is apparently an outdated concept. Or something. I mean sure, opening up an ssh client is 4 keystrokes for me (on windows) but we need to have it integrated into the browser so firefox (or chrome in this case) can find a way to be even more of a bloated memory pig.
- Karunamon 14y agoWorks pretty well considering its status, though it doesn't like to play along with the hard status bar on my screen sessions.
- javajosh 14y agoTo all those who question the value of this, it's that we now have a new ssh client that runs everywhere Chrome runs. Additionally and non-trivially, the innards of the terminal UI is now exquisitely accessible to the legions of developers who know HTML and CSS. Presumably it's a small step to embedding cross-domain SSH into a webapp. That said, there are minuses. The big minus is that Chrome, like literally every piece of software that handles the download and installation of other software, provides an entirely new way to discover, download, and install software. The instructions for downloading putty for windows is simple and stable over time. The instructions for installing this plugin are Chrome specific and unstable over time. Overall, I'd say this plugin has marginal positive value.
- hughw 14y agoruns everywhere Chrome runs. Does it run on ARM?
- adgar 14y agohttps://play.google.com/store/apps/details?id=com.android.chrome&hl=en https://play.google.com/store/apps/details?id=com.android.ch...
- bzbarsky 14y agoThat _Chrome_. The questions is whether this app runs there, since it's using NaCl, which is not exactly portable across hardware architectures.
- nextparadigms 14y agoI think Nacl is portable. But it wouldn't run on Android right now anyway since the Chrome browser on Android doesn't have access to the Chrome webstore and extensions.
- teraflop 14y ago
- sedachv 14y agoIf you just want a terminal emulator in a web browser, Paddy Mullen ported urxvt to JavaScript a few years ago: https://github.com/paddymul/rxvt-js https://github.com/paddymul/rxvt-js
- zobzu 14y agoYay NaCl chrome only app! Yay for standards! Oh wait a minute...
- president 14y agoTabbing and zoom support did it for me. Very. Awesomee.
- simonster 14y agoThis already exists for Firefox: https://addons.mozilla.org/en-US/firefox/addon/firessh/ https://addons.mozilla.org/en-US/firefox/addon/firessh/
- comex 14y agoI'm not very impressed... although it's partly implemented in HTML (only partly - even though modern JavaScript engines should be more than capable of handling SSH, the implementation is just OpenSSH in Native Client), this is no citizen of the web, and never can be, as trusting an app to connect directly to arbitrary ports and handle all your SSH connections fundamentally subverts the web's security model. Benefits over a native app: - It's sandboxed - big deal, if sandboxing SSH were a real concern then it's a call to sandbox-exec(1) away. - It could theoretically be extended to support HTML-based console interfaces - but sticking a web view in a regular terminal would solve this just as well with less overhead. (Note the lack of benefits that usually apply to webapps: multiple browser implementations; written in a high-level language, which increases hackability [you might be able to get some of that]; don't need to trust the app; page-based paradigm allows deep linking.) Drawbacks: - Slow. The FAQ says it's intended to compete performance-wise, and it's reasonably fast, but comparing the behavior of 'ls' or, more dramatically, 'cat /usr/share/dict/words' or 'yes' (try interrupting it) demonstrates that it doesn't quite hold up. * - You have to trust a silently updating, non-downgradeable app with your data. I guess people already do this with Chrome, but terminal emulators don't exactly benefit from constant updates in the way browsers do. - Non-native - if you're on Chrome OS, this is a benefit, because Web is native, but on other operating systems, you lose the look and feel of the OS (from Terminal.app: useful cmd-tab, transparent window backgrounds, Lion fullscreen mode, Lion auto reopen, other applications can launch the terminal, native keyboard shortcuts, ctrl-w...) for no reason. - The current version requires an account(!!) - The current version is buggy - when I try it, just typing "ls" messes up the terminal so that it's not fully scrolled down. I guess this will be ironed out soon, but existing terminal emulators are highly stable. *edit: or 'bb', heh - Terminal doesn't exactly handle it well (it's a good demonstration of the superior performance of xterm), but at least it doesn't hang like this terminal
- jrockway 14y agoI'm not sure what problem you're having with ls, but emacsclient -t and list-colors-display works perfectly for me. If it does Emacs, my needs are met :)
- rginda 14y agoI fixed a terminal "hang" just after the 0.7.9 version was released: http://git.chromium.org/gitweb/?p=chromiumos/platform/assets.git;a=commit;h=b0d9b83e670a68a1b5ee54a40a3748fc4963e811 http://git.chromium.org/gitweb/?p=chromiumos/platform/assets... This may be what you're seeing in 'bb'. The difficulty interrupting something like 'yes' is a known issue. We need to add some flow control to deal with cases where the network overwhelms the UI. This also makes hterm appear slow when cat'ing /usr/share/dict/words, and running aafire. A fix is in the works. Yes, as you mention, automatic updates are something you already accept with Chrome. It also seems to be the way Firefox is heading. And Android and iOS apps. Anyone is free to build a version locally if they really want to stick with a particular version. The webstore may require an account, but the source is open. You're welcome to build it yourself. Or, create a throw-away account and download the CRX, then install it in your "real" account. Of course the current version is buggy, it says that right in the web store description! I've been working on it for a few months now, but it's difficult to get everything right in a terminal without a lot of users. I fixed an issue after the 0.7.9 release that may be what you're describing, but I can't know for sure without more details. FWIW, as the FAQ says, the terminal emulator and the NaCl SSH client are essentially two codebases. Maybe you could impress people by creating a good-web-citizen version of the SSH command and combine it with hterm. That would most definitely require an HTML-to-SSH relay in the middle (which hterm supports). Then you'd have to trust that though, at which point you have to decide where you really want your potentially untrustworthy code to live.
- api 14y agoHonestly, I don't like the browser for everything. Neat, but not something that would shake my world.
- rufugee 14y agoOn Ubuntu 12.04, I get this, and then it seems to hang. Anyone have this working on Linux? Welcome to Secure Shell version 0.7.9. The list of Frequently Asked Questions is available here: http://goo.gl/m6Nj8 Connecting to wellsj@greensboro.timco.aero, port 22... Loading NaCl plugin...
- nextparadigms 14y agoSo it doesn't work? Maybe Google didn't enable NaCl by default in Linux. You can enable it yourself.
- rufugee 14y agoCorrect...doesn't seem to work for me. This is in chromium, which, unless something has changed, appears to have problems: http://askubuntu.com/questions/91789/why-is-nacl-disabled-for-chromium http://askubuntu.com/questions/91789/why-is-nacl-disabled-fo... Downloading the official chrome build works. Thanks.
- hammersend 14y agoOn 12.04 here 64 bit kernel and Chrome v. 18.0.1025.162. Everything works perfectly both to localhost and across the lan.
- tantalor 14y agoPublic/private key authentication seems a bit spotty. From the FAQ, > Can I connect using a public key pair or certificate? Sorry, not yet. I successfully authenticated with a private key, debug1: read PEM private key done: type DSA debug1: Authentication succeeded (publickey). However, authentication agent forwarding (ssh -A) did not work, Permission denied (publickey). Also notable is that this app does not have access to the OS X Keychain, so I have to type in my lengthy passphrase before authenticating.
- deleted 14y ago[deleted]
- bryogenic 14y agoCan you post the syntax of how you included the identity file. The parsing keeps grabbing my user@host in with the -i id.pem Connecting to -i id.pem user@host, port 22... Loading NaCl plugin... done. Warning: Identity file id.pem user@host not accessible: No such file or directory.
- Nitramp 14y agoAs someone who occasionally ends up on Windows having to do Terminal work, thank you. A proper terminal emulator on every platform (well, every platform I care about) is a huge win. I might even move to this entirely if it adds support for key auth; having a consistent environment across all devices on which you work is a big win, even if the native terminal emulator might be integrated better with the OS. On a related note, I used to cringe whenever I had to do anything on Windows; such a foreign environment. Nowadays so much has moved to the browser that I hardly notice, modulo some text editing shortcuts. The browser is really about to become the operating system.
- Produce 14y agoThis is an amazing killer app. Never before could I SSH into a remote machine from a desktop computer. </sarcasm>
- kalmi10 14y agoCan someone explain how this is possible within the web's standard security model?
- thenonsequitur 14y agoI like this because it allows me to ssh into a machine and then run lynx to browse the web. Meta-browser, baby!