# Yes, there is an open-source SSH client on the iOS App Store

iOS has long been said to have no GPL SSH client the way Android has ConnectBot. That is out of date — and the reason it was ever true is more interesting than the licence.

*updated 2026-08-25*

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](https://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](https://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.
