yashsingh1/xdaforums huggingface dataset:
[Android Apps and Games] _pigro_:
Hi. I am having trouble using an RSA public key with juiceSSH. I know it's not Juice's fault, as I can't use the id_rsa.pub with connectbot either - just thought I'd ask here for any ideas as i'm stuck.

I generate the keys on a Win XP box, using openssh (the cygwin version). OpenSSH itself is running fine (I can connect using passwords). Here's the keygen output:

C:\OpenSSH\bin>ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/graeme/.ssh/id_rsa):

/home/graeme/.ssh/id_rsa already exists.

Overwrite (y/n)? y

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/graeme/.ssh/id_rsa.

Your public key has been saved in /home/graeme/.ssh/id_rsa.pub.

The key fingerprint is:

XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX xxxxxx@xxxx

I then copied the id_rsa.pub file to /sdcard on my galaxy note, and tried to add it to my existing identity in Juicessh. I chose "file Path" and after typing id_ the full file name id_rsa.pub appeared. I touched that to select it then hit "OK" but nothing happens. I can only leave this screen by hitting cancel. I then tried to paste in the contents of the file, and that is permitted. But, wehn I try to connect using it, juicessh says "invalid file".

I've regenerated the key a couple of times, always with same results. As I say, the same file is also rejected by connectbot ("problem parsing imported private key").

So it appears that ssh-keygen on my XP box is producing an invalid file format (but that seems wildly unlikely??). I wondered if it was a DOS->Linux file format issue (cr vs cr/lf) but I haven't seen anything online suggestign that a file format conversion is needed if copying keys from Windows to Linux?

How can I track down what's wrong & why?
[Android Apps and Games] JuiceSSH:
If your key is valid, the 'Smart Search' in JuiceSSH should find the key (regardless unix/windows line endings of where it is on your sdcard).

If it's not - then it does suggest your key is invalid.

The fact that when you paste in the key on your android device, it still shows as invalid suggests that it's more than just a line endings issue.

I'm afraid I don't have a windows box here to test with.

Can you confirm that the first line of your key contains -----BEGIN RSA PRIVATE KEY----- or -----BEGIN DSA PRIVATE KEY-----

Thanks
[Android Apps and Games] _pigro_:
Hi, thanks for taking the time to have a look!

The private id_rsa file, which resides in ~home/graeme/.ssh on the XP box, has the -----BEGIN RSA PRIVATE KEY ----- header. The public id_rsa.pub simply has ssh-rsa at the start.

However I think I may be very confused. My need is to connect from my android phone over ssh to my XP "server" which is running openssh. I can currently do this using password authentication, and I want to use keys instead. I have generated public/private RSA keys using ssh-keygen on the XP box, and then copied the public key it generated onto the android phone and tried to import it.

Should I actually be generating the keys on the phone and then copying the public one to the PC? If so, what do I need on Android to do this (I'm not rooted).
[Android Apps and Games] JuiceSSH:
Ahh ok - makes more sense now.

You need the private key on the phone (id_rsa).

The public key needs to be copied to ~/.ssh/authorized_keys ( cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys) on your windows XP box.

Now linux is very fussy about the permissions on this authorized_keys file - although not sure if windows will be.

On Linux the .ssh directory must be 700 and the authorized_key file 600.

Let me know how you get on.

Paul
[Android Apps and Games] _pigro_:
Many thanks Paul, I've got it working now (though I feel like a plonker!). Cheers for the help, you saved me a lot of time :)
[Android Apps and Games] JuiceSSH:
If it makes you feel any better, getting the private/public keys mixed up is a really common problem! It's not just you :)
[Android Apps and Games] _pigro_:
:)

I have set up such keys in the past successfully from the same XP box to my old Nokia N900 (even managed to set up reverse tunnel so that I could login to phone from PC wherever it happened to be whilst on 3G) so I *should* know what I'm doing ... just a "senior moment" today hopefully!

Big thumbs up for the juicessh app by the way. Clean & simple interface, very nice.
[Android Apps and Games] JuiceSSH:
Just released an update to the Play Store that includes a nice new widget for our Pro customers running Android 3.0+ (Honeycomb) that allows quick homescreen access to your frequently used connections, or specific groups:
[Android Apps and Games] _pigro_:
Quick bug report: I was abouit to report this with the previous version until I saw the post saying there was an update. I've updated but the bug is still there.

I have my WiFi -> Advanced -> keep WiFi on during Sleep set to "Always".

I disable WiFi (and go automatically to mobile data) and then run Juicessh to connect to a remote server.

I then exit the session (by typing "exit" into the terminal) and before doing anything else I check the above setting and it has changed from "Always" to "Never". Not a big deal, but it was driving me a bit crazy until I tracked down what it was that was making my phone use mobile data every time the screen was off!

Samsung Galaxy Note, stock build on ICS 4.0.4.
[Android Apps and Games] JuiceSSH:
Interesting, thanks for pointing this out. I will do some testing and try to get this resolved for our next update - which should be hitting very soon and including a much requested feature... PIN lock for the app.
[Android Apps and Games] JuiceSSH:
I think I've found the issue here - would you be able to help test if I send you over an update with the fix included?
[Android Apps and Games] _pigro_:
yes, no problems. do you want me to PM you an email address?
[Android Apps and Games] JuiceSSH:
Have just PM'd you the build - let me know if it helps and i'll merge this into our next update.

Thanks!
[Android Apps and Games] _pigro_:
Hi, I just tested the new .apk you provided but it's still doing the same as before.

Also FYI - it is not neccessary to go onto a mobile data connection to trigger the problem, that was just the way I happened to be using the app when I noticed the bug.

So, if I am on my home WiFi (with Keep wifi on during sleep set to "always") I can run juicessh, connect to a server on my own LAN and then after, exiting the ssh session, the WiFi setting has immediately changed from "Always" to "Never".

Let me know if you need any further info, and if you'd like me to do any more testing.
[Android Apps and Games] JohnerH:
Hi Guys,

I've been trying to find the keys juiceSSH generated when I first installed it in order to put in the authorized_Keys on my server, but for the life of me I can't find them.

Anyone know where they are?

Thank you in advance,

J
[Android Apps and Games] JuiceSSH:
Hi,

JuiceSSH does not (currently) generate any SSH keys for you - it can only import ones created elsewhere with ssh-keygen or other such tools.

You might be thinking of the encryption password that you're prompted for when you first ran the app? This is used to generate an AES-256 key that encrypts all of your settings, connections, passwords etc so that they are not stored in plain text.

Thanks.

Paul
[Android Apps and Games] JohnerH:
Thanks for getting back to me so quickly.

So, am I to assume that it can't handle key authentication?

I was wanting to connect to a server without a password and solely relying on keys.

Again thank you in advance,

J
[Android Apps and Games] JuiceSSH:
Yes - it works great with SSH key based authentication.

You will need to generate the key elsewhere, for example on the linux server you want to connect to by running:

ssh-keygen -t rsa

That will generate the following:

~/.ssh/id_rsa (private key - to import into JuiceSSH)

~/.ssh/id_rsa.pub (public key - to copy into your authorized_keys)

In order to import the private key, just get it onto your phone somehow (dropbox/email/usb/whatever) and then in JuiceSSH create a new Identity, click the import private key button and choose the SmartSearch option:

This will search your phone for the private key and import it.

Thanks.

Paul
[Android Apps and Games] JohnerH:
Duh! I should have thought of that actually :)

Given that the phone doesn't have a ssh server there obviously wasn't going to be a generator.

Thank you for your help :)

J
[Android Apps and Games] JuiceSSH:
No worries - we've thought about putting in some functionality to generate the keys, and add them to the servers authorized_keys file automatically however it's fairly low down on the feature priority list for the moment.

Feel free to get in touch if you have any other questions/suggestions.

Paul
[Android Apps and Games] JohnerH:
For reference,

the key needs to be stored on the phone itself and not the external card, or smart search won't find it.

Just thought I'd give people a heads up.

:)

J
[Android Apps and Games] Mr_K99:
I have the same bug on Samsung Galaxy SIII, stock build on ICS 4.1.2
[Android Apps and Games] wiffeltje:
Thanks for this application. I'm using it all the time now and it works just great. :good:

I also like the fact that I can swith to the Solarized themes. That's already a lot better then the standard color schemes. But I would like to have even more freedom to change my color scheme :angel:

On my desktop terminal(s) I do that by using terminal escape sequences. E.g.using a script like ...

echo -ne '\e]10;#657B83\a' # Foreground -> base00
echo -ne '\e]11;#FDF6E3\a' # Background -> base3

echo -ne '\e]12;#93A1A1\a' # Cursor -> base1

echo -ne '\e]4;0;#073642\a' # black -> Base02
echo -ne '\e]4;8;#002B36\a' # bold black -> Base03
echo -ne '\e]4;1;#DC322F\a' # red -> red
echo -ne '\e]4;9;#CB4B16\a' # bold red -> orange
echo -ne '\e]4;2;#859900\a' # green -> green
echo -ne '\e]4;10;#586E75\a' # bold green -> base01 *
echo -ne '\e]4;3;#B58900\a' # yellow -> yellow
echo -ne '\e]4;11;#657B83\a' # bold yellow -> base00 *
echo -ne '\e]4;4;#268BD2\a' # blue -> blue
echo -ne '\e]4;12;#839496\a' # bold blue -> base0 *
echo -ne '\e]4;5;#D33682\a' # magenta -> magenta
echo -ne '\e]4;13;#6C71C4\a' # bold magenta -> violet
echo -ne '\e]4;6;#2AA198\a' # cyan -> cyan
echo -ne '\e]4;14;#93A1A1\a' # bold cyan -> base1 *
echo -ne '\e]4;7;#EEE8D5\a' # white -> Base2
echo -ne '\e]4;15;#FDFDE3\a' # bold white -> Base3

... to swich to Solarized light.

Since JuiceSSH already supports 256 xterm colors, I guess the app already deals with escape sequences wich look a lot like this ?

Maybe it would be an idea to also let it deal with these kind of escape sequences ?

That way I would have all the freedom to change the color scheme from within my ssh sessions. :D

Anyway ... just an idea.

JuiceSSH is already great like it is now.

So, thanks again for this great app.
[Android Apps and Games] graemefaulkner:
I get the same issue with nano, did you find a

The return key does work in your scenario with hackers keyboard but given the cramped layout is not ideal on a phone. Getting full return key support with the standard keyboard (jelly bean in my case) would be really useful.
[Android Apps and Games] theevilworm:
Hi, awesome app. Thanks for making this available for free!

However, there are two bugs that, well, bug me:

1. The extra keys that appear when tapping the window (such as CTRL, ALT) are not 100% responsive. When I want to send CTRL+C to the terminal and I hold CTRL, it sometimes sends just the letter 'c'.

2. I'm getting a lot of 'connection failed'. Just all of a sudden I get kicked out of my connection without an apparent reason. I have a stable WiFi connection and my 'server' (Raspi) has a stable Ethernet connection. This does not happen with Connectbot or PuTTy.
[Android Apps and Games] s'pht:
So I'm running into problems on the "Connect Via" feature - it connects up fine to the host I want to conect via - it just doesn't actually go through to the real destination host.
[Android Apps and Games] pyksy:
Looks nice, I like the large special keys menu.

Any chance of adding a portrait/landscape lock option?
[Android Apps and Games] JuiceSSH:
Hi all,

Apologies for the late replies to a few of you - have been away on holiday for a couple of weeks.

We're just about to push out an update (v1.2.7) that fixes quite a few issues that have been brought up:

- New optional application PIN lock for Pro users

- Added ALT and Hide Keyboard items to the popup keyboard

- Fix for Ctrl key highlighting UI issue

- Fix for issue with 3rd party keyboards in landscape mode (whereby keyboard overlapped terminal)

- Optimised terminal resizing performance to remove lag

- Fix for crash when deleting snippets

- Fix for incorrect color in Solarized Light color scheme

- Fix for incorrect number of EC2 instances shown

- Fix for enter key not working in nano & mongo client

We've got a bit more testing to do first however if anyone wants to volunteer to help beta test please drop me an email (support@sonelli.com) and i'll get a pre-release beta emailed over.

With regards to the 'connect via' issue just taking you to via server, not the final destination, i'm struggling to replicate this.

Can you drop me an email on the address above and we can go over some troubleshooting/debug steps and try to get to the bottom of it.

Thanks all!
[Android Apps and Games] JuiceSSH:
Version 1.3.1 is now live on the Play Store and available for download and brings the following changes:

1.3.1

- Fixed a rare SSH 'Authentication Cancelled by Server' issue introduced in 1.3.0

- Added line wrapping for long terminal lines and improved tmux/screen wrapping compatibility

1.3.0

- Added support for two-factor authentication (eg: Google Authenticator)

- Added support for keyboard-interactive authentication

1.2.8

- Better support for keys exported from Connectbot (PKCS#8)

- Improved external ALT key handling (AltGr for international keyboards)

- Fix for broken keys/symbols on devices with slide-out keyboards

1.2.7

- Security lock to automatically protect JuiceSSH after a period of inactivity (Pro only)

- Added ALT and Hide Keyboard items to the popup keyboard

- Fix for issue with 3rd party keyboards in landscape mode

- Optimised terminal resizing performance to remove lag

- Fix for crash when deleting snippets

- Fix for incorrect color in Solarized Light color scheme

- Fix for incorrect number of EC2 instances shown

- Fix for enter key not working in nano & mongo client
[Android Apps and Games] JuiceSSH:
Hi [MENTION=4349685]_pigro_[/MENTION] and [MENTION=4825508]Mr_K99[/MENTION] - apologies for the delay, this has been quite a tricky bug to track down but it is finally fixed in v1.3.2 available on the Play Store now.

The full changelog for v1.3.2 is:

Can now disconnect & reconnect from connection notification (ICS+)

No longer uses/modifies WIFI_SLEEP_POLICY setting

We have also recently finished development on our port forwarding functionality.

There will be a short (~1-2wk) beta program - if anybody would like to be included please contact us via any of the contact methods here: https://sonelli.com/contact
[Android Apps and Games] _pigro_:
thanks - I can confirm that the wifi sleep bug is fixed. when testing, I got a "server message" popup before each session connected (generic warning blurb, nothing specific to my own server). I hadn't used juice for a while and I don't recall getting this message in previous app versions. Can it be disabled?
[Android Apps and Games] JuiceSSH:
Brilliant, thanks for confirming.

In one of our recent releases, we added support for keyboard-interactive (and two-factor) authentication.

The SSH specifications for keyboard-interactive authentication (as used by putty etc) state that a SSH client should be able to prompt the user for the following things at the servers request:

A yes/no question (normally used to accepting/rejecting host key changes)

A message

A password (either for auth failures, or if the server configuration insists the user must change their password)

A key passphrase

A text prompt (normally used for two-factor authentication)

I think in your case, you have a SSH banner setup - which the server is requesting the client to show.

Can you check your /etc/ssh/sshd_config and see if there is a Banner entry.

From the 'man sshd_config' page:

Banner The contents of the specified file are sent to the remote user before authentication is

allowed. If the argument is ``none'' then no banner is displayed. This option is only avail-

able for protocol version 2. By default, no banner is displayed.

Thanks

Paul
[Android Apps and Games] _pigro_:
Hi Paul - yes, spot on, there is a default banner.txt that came with my openSSH install, so I can remove it myself. Sorry to trouble you (again!) :)
[Android Apps and Games] JuiceSSH:
No problem! :)
[Android Apps and Games] JuiceSSH:
Hi - I believe we've got this bug sorted now in our dev branch (at last! It's been a pig to track down).

If you drop me an email (support@sonelli.com) I can send you a test build for you to try.

Thanks!
[Android Apps and Games] JuiceSSH:
Released a new version to the Play Store a few days ago with some great new features & fixes:

- Added page up/down keys to popup keyboard

- Added port forwarding (pro feature)

- Connect to port forwards via widget

- Automatically open port forwards in browser

- Improved reliability of 'connect via' functionality

- Improved SSH agent forwarding support

- Auto-expand connection group if only one exists, or the 'All' group if none exist

- Terminal font readability improvements

- Don't CloudSync font size between devices (handy if you have phone & tablet with different DPI)
[Android Apps and Games] Utini:
great app.

Now make an app which will route all my phones traffic through a SSH-Tunnel if my WiFi isn't on some "trusted wifi list" and I will love you :D
[Android Apps and Games] JuiceSSH:
Since adding port forwarding in the last release we've actually been looking into doing this however a few difficulties have arisen out of our initial investigations:

Android has no global proxy support - this means that the only way we can redirect normal traffic through an SSH connection is via iptables rules - however this required the end-users device to be rooted.

Battery life - It's not reasonable to keep the connection open permanently - as this requires creating a WAKE_LOCK and will cause significant battery drain. Even reconnecting a SSH session any time there is any network traffic has it's challenges, as we need to detect that traffic and quickly start up the SSH session.

It would probably need to be something toggled on/off on demand with a switch on a widget.

With regards to requiring root, we're still looking into it and really want to find a solution that doesn't require root before we add it to the app.

Paul
[Android Apps and Games] Utini:
Hmm maybe I should just try to get OpenVPN running on my debian server and install some VPN app + Tasker on my phone :/

Good app anyway, keep up the work :)
[Android Apps and Games] s'pht:
There's already an app that will do that: https://play.google.com/store/apps/details?id=org.sshtunnel

It works quite well and being a separate app is easier to turn off/on (would be cool to see some sort of integration). The majority of my SSH connections only allow access when I'm behind my work's VPN (EC2 security groups FTW) so I have to use AnyConnect VPN anyway.

Questions for JuiceSSH: Is there any way or plan to have a way to open the synced connections up to a desktop computer? https://sonelli.com/roadmap is "coming soon" =). Most of my work is done on a PC with WinSCP - I used a USB On The Go cable to hook up a desktop keyboard to my GS3 one day and manually entered in all the connection info for a bunch of hosts into JuiceSSH; but it would be cool to have one ring to rule them all... wait wrong movie.

---------- Post added at 03:47 PM ---------- Previous post was at 03:24 PM ----------

Guess I missed this "We intent on extending this ability to sync devices to as many internet capable platforms as possible, including your PC's, laptops and macs."

That answers my question =)
[Android Apps and Games] Utini:
Nope this app does not what I want.

SSH-Tunnel will connect to the ssh-server once u are in a wifi u mark. I want exactly the difference.. connect to the ssh-server whenever I am on a wifi which I didn't mark (as trusted) before.. else it has no sense in terms of security :/
[Android Apps and Games] gubacsek:
back key doesn't work

EDit: never mind... i found out. Please delete this post!
[Android Apps and Games] nabuhonodozor:
Great app. Ive bought full version to support Your efforts.

Some toughts:

- Syncing option is great! It would be great to extend it to own cloud solution like owncloud, pogoplug etc or even plain file on a self-own server.

- It would be great to create code snippets on my computer and somehow upload it to the app. It would make whole process much more convenient.

- Password lock - its essential feature for such app, but can't turn ot on. Simply by doing this I am getting an endless loop with 'th letter message. No matter how many times Ive answer this, it always ask me again for the letters. Nothing helps. Maybe its because Ive bought PRO from the app itself (without closing the main app?) Update: password lock start to work!

Again, Great App! Thank You.
[Android Apps and Games] ShinnAsuka:
Hi I just recently discovered this SSH client, and my intent is to use this app to access my Asterisk server for my PIAF setup. For some reason its giving me an authentication failed error even though I have all the correct information and imported the private key. Any ideas on how to fix this? The server I am trying to connect to is an Amazon EC2 instance if that makes any difference. Thanks.

---------- Post added at 10:40 PM ---------- Previous post was at 10:06 PM ----------

Apparently I can log in as the root user. Not too great for security. Any ideas on the problem I mentioned before?

It works fine on putty...
[Android Apps and Games] JuiceSSH:
Guys, I have to apologise.

It seems for whatever reason i'm not getting notified of updates to this thread (despite being subscribed).

We are planning on supporting more platforms - and CloudSync abilities between them.

Ideally we'd love to build a Chrome extension to allow people to SSH with their JuiceSSH profiles from anywhere.

Currently we don't have the time between us to achieve this, and the money we make from the Pro licenses covers our existing hosting costs and allows us to buy a selection of weird and wonderful android phones as test devices (normally when we're looking, the older/more obscure the better) but wouldn't cover outsourcing the task.

Our goal currently is to get JuiceSSH on Android stable and full of the upcoming features we have planned for it (see http://juicessh.com/roadmap). Once that's done we will be able to dedicate more time to other platforms and work on them.

The trouble is, as two fulltime sysadmins that spend their whole lives in SSH sessions, and with the JuiceSSH user base growing at ~30k users/month currently, we're never short of awesome ideas to add into the mix!