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.
SSH Client Apps for iOS
GetConsole is the most basic looking SSH client app. The UI is plain much like a DOS terminal. When you launch the app, you get greeted with a blank black screen. This may lead you into believing that it has crashed. But don’t worry, it’s just the welcome 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 choose between saving your hosts, username, and password 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. You can store passwords in the app which works as a substitute for auto-fill during login. In case it’s a server which you regularly connect to, you can also setup keys.
It supports encryption algorithms such as SSH1, RSA, DSA. The Key generated is in PPK format which is also PuTTY supported. And just in case you want to import one, you will have to copy & paste the private key data. There is no option to build keys from a file. You can choose to add scripts in the app which automates certain steps when a particular event occurs. Suppose, I want to run a set of commands when I am successfully logged in. I can program the following in Script Manager by triggering an action when particular text displays.
GetConsole works well most of the times, 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
Additional Features: 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 etc.
Download GetConsole (free)
WebSSH Essential is not only an SSH client but also an SFTP and HTTP client. The app UI is basic with all the protocols laid down at the bottom as tabs. You need to add & configure a host in order to establish a connection and there is no quick connect option.
The app allows key import from PPK and OpenSSH files and you can also choose to manually generate one. To do that, you have to enter your own RSA or DSA key. Unlike other apps, you have fewer keyboard shortcuts here like I couldn’t find the Fn key and the Esc button. Having said that, the app supports touch actions like swiping left or right to scroll between multiple SSH sessions and scrolling up or down to see the previous terminal outputs. It does support Bluetooth or external keyboard but often I had problems connecting it with the app. Similar to Shelly, the free version of WebSSH doesn’t have advanced features.
The free version of the app provides a decent offering but the ads can get annoying at times. If you go premium by purchasing WebSSH Pro, you get an ad-free experience with some additional features like key generation, running a terminal in the background etc. In 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 about it.
Cipher Algorithm: RSA, DSA.
Additional Features: SFTP, Tunneling, HTTP, WebSSH, generating manual keys etc.
Download WebSSH Essential (free)
Shelly is an SSH client alternative based on Putty. Unlike the other apps in this list, Shelly only supports SSH protocol. The app is pretty basic and you are greeted with a connection manager screen. 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.
Additional Features: SSH Agent and Port Forwarding, manually generate keys, gesture support in the terminal, password lock the app etc.
Download Shelly (free)
Termius is the popular SSH client app for Android and you have one for iOS as well. The UI is minimal and practically looks like a terminal with a touch of modernity. The app is pretty straight-forward and the options are categorically placed. For eg, the open connections appear in the Terminals tab whereas your hosts appear under the Host Tab. The actual terminal is the classic Windows sorta command prompt.
You can choose to configure a host for your connection or rather fire an SSH command to open a one-time connection. In case you have multiple hosts you can also merge the similar ones into a single group. For the hosts, you can choose to configure keys or generate one. Key generation supports multiple encryption algorithms like AES, DES, 3DES, AES-128, and AES-256. While you can generate keys in Termius it also supports importing keys so that’s a useful utility. You can export your keys to a text file, PEM or PPK files and then share your keys with Termius via iTunes. I can directly import Putty keys from my office system onto my iPad and this saves the extra setup. 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 it but one thing that can be improved is the error-reporting. 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 doesn’t provide enough details about the failed connection.
Cipher Algorithm: AES, DES, 3DES, AES-128, and AES-256.
Additional Features: MOSH and Telnet, Multiple connections and sessions, Port forwarding, Key generation and import, Session Logging in the app, Dark mode etc.
Download Termius (free)
Which one should you choose?
If you need an app for regular connection & server manager, Termius would be the ideal choice. The best thing about Termius is that each stuff is categorically placed which makes the app easy to use and most importantly less complicated. The only scenario you should be using GetConsole is if you have SSH agent forwarding. For simple and one-time usage, you can try any of the apps between WebSSH and Shelly.
Finally, Blink Shell is another popular SSH client for iPad/iPhone which supports external keyboard and MOSH. We didn’t test it since – it’s a paid app ($19.99) and offers no unique features that you can not find in free ones. 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