To browse and transfer files on a Linux server, VPS, Raspberry Pi or NAS from your Android phone, connect over SFTP, the file-transfer part of SSH. Any machine you can ssh into almost certainly supports SFTP already, with nothing extra to install. Solid Explorer connects over SFTP with a password or an SSH private key (Ed25519, ECDSA, RSA). It continues interrupted transfers where they stopped and lets you work with server files next to your phone's files in two panels.
What you need
The server's hostname or IP address, and its SSH port (22 unless it was changed).
Your username on the server.
Either your password or an SSH private key file on your phone (or its text in your clipboard).
Add the connection
In Solid Explorer, tap the + button at the bottom right of a file panel and choose New connection.
Under Connection type, choose SFTP and tap Next.
On Server details, fill in:
Server name or IP address, for example
myserver.comor192.168.1.10.Port number. Already set to 22. Change it only if your server uses a different SSH port.
Path. Leave it empty to start in your home folder, or enter a folder such as
/var/www.Display name. The name shown in Solid Explorer. It defaults to the server name.
On Authentication, choose Username and password or SSH private key (see the next section for keys).
For a password, enter your Username and Password. Keep Remember password checked if you don't want to type it each time.
On Set advanced? choose No. Choose Yes only if file names on your server show up garbled. It lets you pick a different Encoding (UTF-8 is right for almost every server).
Check the Review page, tap Next, then on Almost done! tap Connect.
The first time, Solid Explorer asks you to trust the server's host key (see "The host key prompt" below). Tap Accept.
When the connection test succeeds, tap Finish.
The connection opens straight away and stays in the side menu (drawer) under Storage.
Log in with an SSH key
On the Authentication page, choose SSH private key. On the next page:
Enter your Username.
Provide the private key (not the
.pubfile) in one of two ways:Tap the folder icon next to Select a file with your private key… and pick the key file on your phone, or
Paste the whole key, including the
-----BEGINand-----ENDlines, into the box under … or paste it here.
Continue with Next.
Under the key, Solid Explorer shows its fingerprint SHA256:…). It should match what ssh-keygen -lf yourkey.pub prints on your computer. Keys with a passphrase show no fingerprint until they're unlocked.
Solid Explorer copies the key into the connection, so you can delete the key file from your phone's storage afterwards.
If your key has a passphrase, the setup screens don't ask for it. When you connect, Solid Explorer shows Please enter the passphrase for this private key. The passphrase is never saved to disk: it's kept in memory while the app is running, so you'll be asked again after the app has been closed.
Supported key formats
Format | Starts with | Supported |
|---|---|---|
OpenSSH (default for |
| Yes: Ed25519, ECDSA, RSA, DSA, with or without a passphrase |
PEM / traditional OpenSSL |
| Yes, with or without a passphrase |
PKCS#8 (default for OpenSSL 3) |
| Yes: RSA, ECDSA, Ed25519, DSA |
PuTTY |
| No. Convert it first (see below) |
Converting a PuTTY .ppk key
Open the key in PuTTYgen on Windows and choose Conversions → Export OpenSSH key. On Linux or macOS, run:
puttygen mykey.ppk -O private-openssh -o mykeyThen use the exported file in Solid Explorer.
Creating a new key that works everywhere:
ssh-keygen -t ed25519 -f ~/.ssh/android_keyAdd the contents of android_key.pub to ~/.ssh/authorized_keys on the server, and copy android_key (the private key) to your phone.
The host key prompt
The first time you connect, Solid Explorer shows "The server's host key is not cached in the registry and is not trusted" along with the server's key. This is normal SSH behavior and protects you from connecting to an impostor server. If you trust the server, tap Accept. Solid Explorer remembers the key.
To make sure you're talking to the right server, compare the SHA256:… fingerprint in the prompt with the one the server reports. On the server, run:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pubUse the file that matches the key type shown in the prompt, for example ssh_host_ecdsa_key.pub or ssh_host_rsa_key.pub. If the fingerprints match, it's safe to accept.
If you later see "WARNING! The server's host key does not match the one cached in the registry", stop and find out why. Accept only if you know the key changed, for example because the server was reinstalled. Otherwise tap Cancel.
Using the connection
Two panels. Tap the second panel to make it active and open your phone storage there. Then copy or move files between the server and your phone in either direction.
Large or interrupted transfers. If the connection drops during a transfer, Solid Explorer retries and continues from where it stopped instead of starting over.
Properties shows the owner, group and permissions (for example
rwxr-xr-x (755)). Changing permissions over SFTP isn't supported.Edit, rename or delete the connection. Open the drawer, tap the ⋮ menu at the top and choose Storage manager. Each connection has its own ⋮ menu with Edit, Delete and Create shortcut.
Troubleshooting
"The SSH private key is invalid." Solid Explorer doesn't recognize the key.
Common causes:
You picked the public key
.pub) instead of the private key.The key is a PuTTY
.ppkfile. Convert it as shown above.The pasted text is missing its
-----BEGINor-----ENDline.The file isn't a key at all. Key files are small; anything over 10 KB is rejected.
"A problem occurred with authentication. Please log in again." when using a key.
Usually the passphrase was wrong, or the server doesn't accept this key. Check that the matching public key is in ~/.ssh/authorized_keys on the server and connect again. If the key was made with an unusual cipher (for example ssh-keygen -Z [email protected]), re-save it with the default settings: ssh-keygen -p -f yourkey.
"The user name or password is invalid. Please log in again."
The server rejected the username or password. Some servers turn off password login entirely PasswordAuthentication no in sshd_config). In that case you have to use a key.
"Connection refused."
Nothing is listening on that port. Check the port number and that the SSH server is running sudo systemctl status ssh on most Linux systems).
"Network timeout. Please check your connection and try again." or "Unable to find target host."
The server isn't reachable from your phone. Check the address, your Wi-Fi or mobile data, and any firewall in between. A server on your home network can't be reached from outside without port forwarding or a VPN.
"A problem occurred with network communication." right after the host key prompt.
You probably tapped Cancel on the host key prompt, so the connection was stopped. Connect again and tap Accept if you trust the server.