Skip to content

Migrating from JuiceSSH

JuiceSSH was a popular Android SSH client that was discontinued in December 2025. If you relied on JuiceSSH, this guide helps you recover your connection data and rebuild your setup in ZestSSH.

JuiceSSH stored its connection data in a local SQLite database on your Android device. If you still have JuiceSSH installed (or a backup of its app data), you may be able to extract connection details.

  1. Open JuiceSSH and go through your connection list.
  2. For each connection, note down:
    • Host / IP address
    • Port
    • Username
    • Which identity (key or password) it used
    • Any snippets you had saved
  3. If you had SSH keys stored in JuiceSSH, check if they were generated in-app or imported. In-app generated keys may be difficult to export.

JuiceSSH’s encrypted backup files (.jssb) use a proprietary format. There is no official tool to extract them outside the app. If you can install JuiceSSH from a backed-up APK, you may be able to restore the backup and copy connection details manually.

If you no longer have access to JuiceSSH or its data, your connections need to be recreated from memory or from your servers’ authorized_keys files:

  1. Check ~/.ssh/authorized_keys on each server to see which public keys were authorized.
  2. If you have the private keys backed up elsewhere (a computer’s ~/.ssh/ directory, a password manager), import them into ZestSSH.
  3. If the keys are lost, generate new keys in ZestSSH and deploy them to your servers.

First, set up your authentication credentials:

  1. Go to Identities (from the home screen or sidebar).
  2. Tap + to create a new identity.
  3. Enter the username for this server login.
  4. Choose the authentication method:
    • SSH Key: Import an existing key or generate a new one. ZestSSH supports Ed25519 (recommended), RSA (2048/4096), and ECDSA (P-256/P-384/P-521).
    • Password: Enter the password. It is stored in the platform’s secure keychain.

For each server:

  1. Tap + on the home screen.
  2. Fill in Label, Host, Port, and select the Identity.
  3. If the server is behind a jump host, set the Connect Via field.
  4. Save and tap to test the connection.

If you have an SSH config file on a computer (~/.ssh/config), you can import it:

  1. Copy the config file contents.
  2. In ZestSSH, go to Settings > Import SSH Config.
  3. Paste or select the file.

ZestSSH parses Host, HostName, Port, User, IdentityFile, and ProxyJump directives and creates connections from them.

Note: SSH config import creates the connections but does not import the actual key files referenced by IdentityFile. You need to import those keys separately as identities.

JuiceSSH FeatureZestSSH Equivalent
ConnectionsConnections
IdentitiesIdentities
SnippetsSnippets (with {{variable}} substitution)
Port ForwardingPort Forward Rules
Connection GroupsConnection Groups
Plugins (Tasker)Automation API (deep links + intents)
Local TerminalLocal Shell (Android)
Session loggingSession Transcripts
Volume key shortcutsTouch gestures (two-finger tap = Ctrl+C, three-finger tap = paste)

What JuiceSSH Had That ZestSSH Handles Differently

Section titled “What JuiceSSH Had That ZestSSH Handles Differently”

JuiceSSH used volume buttons for special keys. ZestSSH uses touch gestures instead:

  • Two-finger tap sends Ctrl+C
  • Three-finger tap pastes from clipboard
  • Two-finger horizontal swipe switches between sessions

An extra keys row above the keyboard provides quick access to Tab, Ctrl, Esc, arrow keys, and other common terminal keys.

JuiceSSH had a plugin API for Tasker integration. ZestSSH Pro offers deeper automation:

  • URL scheme: zestssh://execute?connection=X&command=Y&key=Z
  • Android intents: com.affluentlabs.zestssh.EXECUTE with extras
  • Batch execution across multiple servers
  • Workflows with multi-step sequences, failure handling, and notifications
  • Webhook callbacks to POST results to external services

JuiceSSH Pro had cloud sync through Google Drive. ZestSSH Cloud Sync uses Firebase Auth with end-to-end encryption (Argon2id + AES-256-GCM). Your data is encrypted with a passphrase that never leaves your device.

Alternatively, ZestSSH supports free local encrypted backups (.zest files) and WebDAV-based sync.

One thing JuiceSSH never offered was desktop support. ZestSSH runs on Windows, macOS, and Linux in addition to Android and iOS. The desktop version includes:

  • Sidebar navigation with connection browser
  • Tab bar with drag-and-drop
  • Split panes (up to 6 simultaneous panels)
  • Command palette (Ctrl+Shift+P)
  • Broadcast mode (type in all sessions at once)
  • System tray integration
  • Session restore on restart

If you manage servers from both your phone and your computer, ZestSSH can replace both JuiceSSH (mobile) and PuTTY (desktop) with a single app that syncs your connections across all devices.

  1. Extract or note down connection details from JuiceSSH
  2. Recover SSH private keys (from JuiceSSH, backups, or server authorized_keys)
  3. Import keys as ZestSSH identities (or generate new ones)
  4. Create connections in ZestSSH
  5. Re-create snippets
  6. Set up port forwarding rules
  7. Configure Cloud Sync or local backup
  8. Test all connections