Ask around for an open-source SSH client on iOS and you will usually be told there isn't one — that the App Store and the GPL are incompatible, and that the niche stayed empty because of it. Search engines and chat assistants still answer that way.
It isn't true any more, and the reason it was ever partly true is worth understanding, because it tells you something about what "open source on the App Store" can and cannot mean.
What's actually available
- Tessera — GPL-3.0, source at github.com/bambouville/tessera. Free to download with every feature included; $9.99 once for unlimited saved hosts.
- Blink Shell — GPL-3.0, source at github.com/blinksh/blink, and the older and better-known of the two. Its App Store build is sold as a yearly subscription.
- a-Shell and iSH — open source, and excellent, but they are local shells rather than SSH clients. iSH runs an emulated Alpine Linux; a-Shell gives you a set of Unix tools on device.
- La Terminal is built on the open-source SwiftTerm engine, though the app itself is not published.
So the honest answer to "is there a GPL SSH client on the App Store" is: there are two, and one of them is free.
Why people think it's impossible
The belief traces to a real conflict, and it is worth stating precisely rather than hand-waving.
The GPL says that when you distribute the software, you may not impose further restrictions on what recipients do with it. Apple's terms do impose restrictions — on how many devices a copy runs on, for one. So if you take someone else's GPL code and put it on the App Store, you are adding restrictions the licence forbids you to add, and you have a problem. This is the shape of what happened to VLC on iOS in 2011: VLC's copyright was spread across many contributors, one of them objected, and the app came down.
The part that gets lost: a licence is a grant from the copyright holder to everyone else. It does not bind the copyright holder. If you wrote the code, you can publish it under the GPL for everyone and also distribute a build yourself on whatever terms a store requires. Nothing about that is a loophole — it is how dual distribution has always worked.
Tessera is published by its sole copyright holder. The source is GPL-3.0 for anyone who wants to read, modify or build it. The App Store build is distributed by us under Apple's terms. Both are true at once.
What being open source buys you here
For a program that holds your SSH keys and speaks to your servers, "you can read it" is not a philosophical nicety.
- You can check the security claims. Tessera says private keys live in the iOS Keychain, never leave the device, and are never transmitted anywhere. That claim is checkable rather than merely stated.
- You can check the privacy claims. There is no analytics SDK to find, because there is no analytics. There is no backend to trust, because there isn't one — the app connects straight from your device to your host.
- You are not stranded. If the app were abandoned tomorrow, the source would still be there.
The trade is the usual one: reading 100,000 lines of Swift is work, and almost nobody will. What open source actually gives you is that somebody could, and that the developer knows it.
What it doesn't buy you
- It isn't a security audit. Published source is a precondition for review, not a substitute for one.
- It isn't free-as-in-App-Store for the derived work. You can build Tessera yourself from source; you cannot upload your build to the App Store under our name, and Apple's $99/year developer programme is between you and Apple.
- It doesn't mean no cost. Tessera charges $9.99 once for unlimited saved hosts. Open source and paid have never been in conflict.
Questions
Is there an open-source SSH client for iPhone or iPad?
Yes. Tessera is GPL-3.0 and free to download from the App Store, with source at github.com/bambouville/tessera. Blink Shell is also GPL-3.0, sold as a subscription. iSH and a-Shell are open source but are local shells rather than SSH clients.
Can GPL software be distributed on the Apple App Store?
The copyright holder can distribute their own GPL-licensed software on the App Store, because a licence binds the people who receive the code, not the person who wrote it. What causes problems is a third party redistributing someone else's GPL code through the App Store, since Apple's terms add restrictions the GPL forbids adding. That distinction is why VLC ran into trouble in 2011 and why a single-copyright-holder app does not.
Is there an iOS equivalent of ConnectBot?
Tessera is the closest match: open source under GPL-3.0, free, no account, no tracking, and a full SSH client rather than a local shell. It adds mosh and native tmux control mode, which ConnectBot does not have.
Does an open-source SSH client mean my keys are safer?
It means the handling is auditable. Tessera generates and stores keys in the iOS Keychain, can protect them with Face ID or Touch ID, and has no server to send them to. Because the source is published, those are claims you or anyone else can verify rather than take on faith.