Android Setup
This guide walks you through installing RemoteConsoleSSH on your Android phone or tablet, configuring app security and permissions, and connecting to your first SSH server.
Requirements
- Android device running Android 10 (API 29) or later
- An SSH-enabled remote machine (see prerequisites)
- Network connectivity to the remote machine (local Wi-Fi, VPN, or Tailscale)
Install the App
Download RemoteConsoleSSH from the Google Play Store. Search for "RemoteConsoleSSH" or use the direct link from the home page.
First Launch Setup
When you open the app for the first time, you will set up app-level security to protect your saved connections and credentials.
Set a PIN code
You will be prompted to create a numeric PIN. This PIN is required every time you open the app. It is hashed with SHA-256 before being stored, so even if device storage is compromised, your PIN cannot be read in plaintext.
Enable biometric authentication (optional)
After setting your PIN, the app asks if you want to enable fingerprint or face unlock. This is optional but recommended for convenience — it lets you bypass PIN entry using your device's biometric sensor.
Info
Biometric authentication requires that you have at least one fingerprint or face enrolled in your device's system settings. If no biometrics are configured, this option will be skipped.
Grant permissions
Android may prompt you to grant permissions during first use. The only permission requested upfront is:
- Microphone — Required for voice control. You can skip this and grant it later when you first tap the microphone button.
No other special permissions are needed. File access for SFTP transfers uses Android's scoped storage and does not require broad file permissions.
You are on the home screen
You land on the connections screen, which is empty. Time to add your first server.
Add Your First Connection
Tap the "+" button
On the home screen, tap the floating action button to open the connection form.
Enter connection details
Fill in the following:
- Name — A friendly label for this connection (e.g., "Home Server" or "Work Laptop").
- Hostname or IP — The address of the remote machine. This can be an IP address like
192.168.1.100, a Tailscale hostname likemy-macbook, or a domain name. - Port — The SSH port, defaulting to
22. Only change this if your server uses a custom port. - Username — Your user account on the remote machine.
Choose an authentication method
- Password — Enter the password for your remote user account. It is stored in Android's EncryptedSharedPreferences, which uses the Android Keystore system for hardware-backed encryption.
- SSH Key — Paste your private key into the text field, or tap the import button to pick a key file from your device. If your key has a passphrase, you will be prompted to enter it.
Tip
SSH key authentication is the recommended approach. It is more secure than passwords and lets you connect without typing credentials each time. See the SSH key guide if you need to generate a key pair.
Save the connection
Tap Save. The connection now appears on your home screen.
Connect and Verify
Tap the connection
On the home screen, tap the server you just added.
Accept the host key (first connection only)
On your first connection to a server, the app shows the server's SSH host key fingerprint. Verify that it matches your server's actual key, then tap Accept. This fingerprint is stored locally so you will not be prompted again unless the server's key changes.
Info
If you see a host key warning on a server you have connected to before, it could mean the server was reinstalled or — in rare cases — that someone is intercepting the connection. Investigate before accepting a changed key.
You are connected
A terminal prompt appears. Verify the connection by running a command:
whoami && hostnameIf tmux is installed on the remote machine, the app automatically creates or reattaches to a persistent session. You will see a tmux status bar at the bottom of the terminal output.
Android-Specific Features and Notes
Keyboard Toolbar
The Android keyboard includes a toolbar row above the software keyboard with terminal-specific keys that are not available on a standard Android keyboard:
- Special keys:
Esc,Tab,Ctrl, arrow keys - Symbols:
|,/,~,- - Microphone button: Activates voice control
Swipe the toolbar horizontally to access additional keys.
Voice Control
Tap the microphone icon in the keyboard toolbar to speak terminal commands. The app uses on-device speech recognition to transcribe your speech, then an AI model interprets it as a terminal command. For example:
- "show me what is running" translates to
ps aux - "go back two directories" translates to
cd ../.. - "find all Python files" translates to
find . -name "*.py"
Tip
Make sure to grant the microphone permission when prompted. If you previously denied it, go to Android Settings > Apps > RemoteConsoleSSH > Permissions > Microphone and set it to "Allow".
Voice control supports two modes: Command mode (interprets speech as terminal commands) and Text mode (types your speech as-is, useful for text editors or REPLs). Toggle between modes in the voice input overlay.
Reconnection Behavior
If your network connection drops (for example, when switching between Wi-Fi and mobile data), RemoteConsoleSSH automatically attempts to reconnect using exponential backoff — retrying at 2, 4, 8, 16, and 32 second intervals, up to 5 attempts.
If tmux is running on the server, the app reattaches to your existing session after reconnecting. Your terminal history, running processes, and working directory are all preserved.
Secure Storage
Connection credentials on Android are protected by EncryptedSharedPreferences backed by the Android Keystore. On devices with a hardware security module (most modern Android phones), encryption keys are stored in tamper-resistant hardware. Credentials are never written to disk in plaintext.
Display and Font
The terminal uses JetBrains Mono for clear character rendering, including full Unicode support. On high-DPI Android displays, the terminal automatically scales to a readable size. You can adjust the font size in Settings.
Troubleshooting
Connection times out
- Confirm the remote machine's SSH server is running and accepting connections.
- Check that your Android device can reach the server. If using Tailscale, verify both devices show as connected in the Tailscale app.
- Ensure the port number is correct (default: 22). Some networks block non-standard ports.
Authentication fails
- Verify your username, password, or SSH key.
- For SSH keys, confirm the public key is present in
~/.ssh/authorized_keyson the remote machine. - Check file permissions:
~/.sshshould be700andauthorized_keysshould be600.
Voice control does not work
- Go to Android Settings > Apps > RemoteConsoleSSH > Permissions and verify microphone access is granted.
- Ensure your device has a working internet connection for the AI interpretation step (speech recognition itself works on-device).
Terminal display issues
- Run
resetto clear the terminal state. - Check that the server's locale supports UTF-8 (
localeshould showen_US.UTF-8or similar). - Adjust font size in the app's Settings if text is too small or too large.