There are a lot of SSH client apps for iPhone and iPad but not all of them work as expected. Some are free while some are paid and all of them perform the basic function of connecting to an SSH server. But the user requirements differ from just engaging the server to being able to configure SSH Agent forwarding, port forwarding, and even public-private key generation. So on those grounds, here are the best SSH clients for iOS.
Best SSH Client Apps for iOS
GetConsole is the most basic looking SSH client app. The UI is plain much like PuTTY. When you launch the app, you are greeted with a black screen. On the top right corner, you get the hamburger icon, clicking on which opens the settings tray. Although the UI is simple, the app packs a lot of features. You can either save your host and credentials or quickly fire up a session without saving the details.
The client terminal supports Tab, Ctrl, Cmd, and arrow keys along with the normal keyboard inputs. You can store passwords in the app which works as a substitute for auto-fill during login. In case it’s a server that you regularly connect to, you can also set up keys.
It supports encryption algorithms such as SSH1, RSA, DSA. The Key generated is in PPK format which is also PuTTY supported. And in case you use PuTTY on your desktop, you can copy & paste the private key data on your iPhone or iPad. Having said that, there is no option to build keys from a file. Moreover, the app also has a Script Manager that can automate certain actions based on an event trigger.
GetConsole works well most of the time, but at times the GUI can get finicky. Quite frequently, it won’t recognize my touches and I would have to double-tap or force close. The settings menu is also not that intuitive and quite cluttered with options. There is no paid variant of this app and even the free version doesn’t allow you to set a keep-alive timer. In case you are wondering about the number of connections, no you cannot establish multiple sessions to a single server but multiple connections are allowed.
Cipher Algorithm: SSH1, RSA, DS
- Connection via SSH/TELNET/TCP/Serial/Bluetooth with multi-tab support
- Integrated TFTP server
- Bluetooth Keyboard Support
- Scripting support, and Full Logging option
- SSH Agent and Port Forwarding.
Download GetConsole (free)
WebSSH Essential is not only an SSH client but also an SFTP and HTTP client. The app UI is pretty basic with all the protocols laid down at the bottom as tabs. Unlike GetConsole, there is no quick connect option. You need to add & configure a host in order to establish a connection. Similar to GetConsole, WebSSH also allows importing keys from PPK and OpenSSH files. Alternatively, you can always choose to manually generate keys via your own RSA or DSA key.
Unlike other apps, you have fewer keyboard shortcuts here. For instance, I couldn’t find the Fn key and the Esc button. Having said that, the app does supports touch actions like swiping left or right to scroll between multiple SSH sessions or scrolling up and down to see the previous terminal outputs. Although the app supports Bluetooth or an external keyboard, I often had problems connecting it with the app.
The free version of WebSSH provides a decent offering but the ads can get annoying at times. If you go premium, you get an ad-free experience along with some additional features like key-generation, running a terminal in the background, etc. In the case of the free one, there was a weird problem I faced. The app would freeze the active session frequently and leave behind an open tty session on the remote server. So, I have to manually end the connection from the server and force restart the app. At times, the app doesn’t even connect to the server and the logs have no clear description of it.
Cipher Algorithm: RSA, DSA.
- Supports SFTP, Tunneling, HTTP, WebSSH
- Generating manual keys, etc.
Download WebSSH Essential (free)
Shelly is a dedicated SSH client app based on PuTTY. The app is pretty basic and you are greeted with a connection manager screen on startup. Here, your added and recent connections will appear. Shelly doesn’t allow you to have multiple sessions or connections in the free variant.
The terminal supports action-based gestures like you can pinch to increase the font size. Shelly is based on the PuTTY engine and is quite visible when you open it. The Shelly keyboard within the terminal has some extra keys such as Fn, Esc, Ctrl, arrow, and scroll. The premium version has much more offering and the freeware is limited to bare-metal features. In the premium version, you get to generate and import private keys. Additional to that you can keep the session active in the background.
Overall Shelly is a good SSH client but most of the advanced features like key generation, are premium which makes the free one quite basic and unappealing to the power users.
Cipher Algorithms: 3DES, ChaCha20, Blowfish, 3DES.
- SSH Agent and Port Forwarding
- Option to manually generate keys
- Gesture support in the terminal
- Password lock the app
Download Shelly (free)
Termius is the most popular SSH client app for Android and it’s present on iOS as well. The UI is minimal and it looks like a terminal with a modern touch. In comparison with the above-mentioned apps, Termius provides Mosh. In case you don’t know, Mosh is built for mobile SSH clients. This helps your mobile to stay connected to the SSH server even when you hop around different Wi-Fi networks and mobile data.
Similar to the above-mentioned apps, Termius also support importing keys or manually generating them. Additionally, you can also export your keys to a text file, PEM, or PPK files and then share your keys with Termius on other devices via iTunes. You can also set up port-forwarding in the app through a GUI interface. It supports local, remote, and dynamic port forwarding.
There is not much to complain about Termius but the error-reporting can definitely be improved. Every time I get a failed connection, it doesn’t open a terminal and describe the error. Either you have to open the logs or click on the error icon which again doesn’t provide enough details about the failed connection.
Cipher Algorithm: AES, DES, 3DES, AES-128, and AES-256.
- Mosh and Telnet
- Multiple connections and sessions
- Option to group multiple hosts in a group
- Local, remote, and dynamic port forwarding
- Option to import and generate keys
- Session Logging in the app
Download Termius (free)
5. Blink Shell
Blink Shell is the only paid app on this list and it’ll set you back around $20. Now, the app does offer some unique features for this price. First of all, it uses Chromium’s HTerm to print the dmesg error faster on the client terminal. The app has the best error-reporting on this list. Whether your host isn’t responding or your T-Mobile doesn’t allow LTE and you need to switch on a VPN, Blink Shell is mostly on point with the error reporting.
Similar to Termius, it uses Mosh which is absolutely necessary for a mobile SSH client. Moreover, it offers the best external keyboard support. It detects trackpad gestures and you can scroll seamlessly with it.
Prompt2 is another paid app but it doesn’t provide Mosh as of now. Additionally, it supports Face ID for authentication.
Cipher Algorithm: AES-128, and AES-256.
- Mosh and SSH
- Port forwarding
- Import and generate keys
- Option to sync keys with iCloud
- Supports both Vim and Emac shortcuts
- Custom Fonts and Themes
Download Blink Shell ($19.99)
Which one should you choose?
If you need an app for regular connection & server manager, Termius would be the ideal choice. The only scenario you should be using GetConsole is if you have SSH agent forwarding. For simple and one-time usage, you can try either WebSSH and Shelly. If you prefer working on an iPad or iPhone, Blink should be in your list of must-buy apps.
That said, if you find something we are missing, voice out your thoughts in the comments below. I would love to hear you out.
Also Read: 6 Best Android SSH Client You Should Try