Anecdotally, I like what the developer of Blink Shell[0] has done. The app is 100% free software[1] under GPL3, so you can easily build it yourself with XCode, upload to your phone, and use as usual from there, which isn't a big hurdle for the target audience. But I bought it. At the time IIRC it costed 20 bucks on the App Store. I bought it because it was incredibly frictionless to pay the money (Apple is good at that), and it felt good to support the developer of a tool I liked and used.
So it leaves me wondering, where are the big obstacles. All other things being equal, I will choose a free/libre solution, but we know things are far from equal.
Recently I tried to compile blink[0] without a paid account and failed miserably.
Yes they also did a great job with sidecar which will only work if you at least own a recent mac. Also it does not work with the iPad Air 2 because they decided it is too old. It is the same story again: Apple softly forcing it's customers to upgrade - nice experience...
It's GPL3 [1], so you are welcome to compile and install on your own personal devices even if you do not have a paid Apple development subscription, though I'm pretty sure that this would require periodic compile/install cycles (every couple of weeks?).
[2] https://mosh.org
Not mentioned in the post, Blink can do port forwarding with the usual ssh tool (ssh -L 5000:localhost:5000 myhost.com). It also provides a shell-like mode of interaction with the local file system and iCloud, so you can `scp` files around between the iPad and your server.
https://github.com/mobile-shell/mosh/blob/master/COPYING.iOS
It's a pain to get mosh support in closed-source iOS apps, but I think that's a good thing, and that's more about the closed-source requirement. (Though the iOS requirement means that you can't take the fork-and-exec approach that e.g. JuiceSSH on Android does; your whole app has to be free software.)
There's a free-software one that charges money on the App Store for a precompiled binary, which seems like the right plan: https://github.com/blinksh/blink