Launch HN: Termius (YC W19) – SSH client that works on desktop and mobile

220 points by rkudiyarov ↗ HN
We are Roman and Dmitry, co-founders of Termius (https://termius.com). Termius is an SSH client that works on desktop and mobile. The big difference with other SSH clients that Termius syncs data across devices using end-to-end encryption.

DevOps, sysadmins, and network engineers benefit from using Termius because they can keep all the information for managing their servers in one secure place, e.g., snippets, connection strings, history, etc. Our product vision is to rebuild the command line experience around an engineer, not around the mainframe where it all started. For example, Termius will help engineers to safely keep information about their servers, shell commands, and terminal logs. This information will be accessible from any device and used to improve productivity, e.g., autocomplete commands in the terminal.

Dmitry and I met when we both got our first job in a small game development studio in Omsk, Siberia. Actually, at that time, it was an advertising agency with an ambition to become a game development studio. We were students, and it was a perfect place to learn on our own a ton about software development in C++. After four years of hard work, we managed to release a 3D game for PC with real-time physics. We involved kids in testing the gameplay, which allowed us to watch other people using our software. It was a life-changing experience when we saw how software could drive emotion, especially with kids and games. After that, we got hooked on building products that people love.

After the commercial failure of the game studio, we went to work for an outsourcing company. We were working on some enterprise software, which was not a lot of fun. Therefore we were working after-hours and weekends on many ideas. After two years, we decided to start our own outsourcing company. We planned to use outsourcing company resources to develop our first product.

Roman started Termius as his pet project at our outsourcing company about seven years ago. Roman needed a way to start a C++ project compilation from my iPhone. The project used a lot of Boost::Spirit and a complete rebuild could take around 15 mins. This time was ideal for a cup of coffee with colleagues or a short bout of office-chair fencing. However, some compilation or linking errors could come up, so he needed to keep an eye on it. It was hard to justify paying $10 for iSSH for such a minor use case. Free SSH clients in the App Store were ugly or had ads in the terminal window. Roman thought that a basic SSH client with the terminal must be available on all platforms for free and ad-free. SSH is as universal as email, and most operating systems have at least one basic and free email client. That is how it is all started.

First, we needed to solve a couple of UX challenges. SSH client requires terminal emulator support to render the output. Also, the mobile keyboard doesn’t have some necessary keys like Fn, Ctrl, Alt, and Tab. Besides, these keys must support sequences(Ctrl-Alt-x or Ctrl-x Ctrl-f) to support Emacs. That was our first UX challenge. Initially, we developed Ctrl and Alt in the shape of a lollipop pinned to the sides of the terminal window. Those were special buttons with two states: tap for single usage(for Ctrl-C) and drag to the center(locked state) for combinations like Ctrl-Alt-x. We have changed the design of the terminal window three times to make it easier to grasp. We ended up emulating a lot of what native OS does because users are familiar with those patterns already. In the recent versions, all the additional keys are grouped and sit on top of the system keyboard. Ctrl and Alt work a lot like Shift(double tap to lock) which was introduced later by Apple.

Once we released Termius (at that time was called Server Auditor) for iOS and Android, we started to get quite a lot of feedback on the missing features and bugs. Frequently this feedback was in the form of one-star review with a typical comment like “Will switch to 5 stars if you add blah”. In s...

142 comments

[ 6.0 ms ] story [ 231 ms ] thread
This is pretty cool - I've used it as an alternative to building a few web dashboards and admin panels for some of my quick-and-dirty past projects.

The combination of Termiums's saved snippets and a short shell/node scripts let me do a lot of monitoring using simple shell scripts rather than having to run a separate web-server hidden behind some auth. Plus, it's still easier to build an interative shell script than an interactive webpage.

I've used Server Auditor/Terminus for years. Saved my butt once when I was on vacation and my docker containers were bouncing one-by-one. I didn't have my laptop but I pulled over to have my wife drive while I sat in the passenger seat with Terminus debugging the issue and deploying a fix from my iPhone. That's pretty empowering. And supporting Mosh for free is a huge plus!

I had no idea Terminus had a desktop app. I'm definitely going to give it a try. Thanks for all you do!

That's amazing that you remember using it under the old name Server Auditor. We realised it was not the best name for a product as it has this negative audit flavour. "OK", we thought and iterated on the name resulting in Termius. This time people (and even Google) started to confuse it with Terminus. "Jesus", we thought and worked on making Google understand it right. It worked with Google, but people still seem to like Terminus more. Now we're thinking to either fix people's perception or come up with a new name. How do you like the name, btw?
Not GP, but I did misread the submission title as ...Terminus... Seems more natural, for whatever reason, to me at least.

Is the problem that it's an existing trademark, or just that it's annoying to change again?

It probably doesn't matter if I misread it, search engines will take care of it as if a typo? (Same applies to anyone accurately searching for the name I misleading recommend them, too.)

Thanks! Yes, that's a bit annoying to change it again and communicate (and, possibly, confuse users even more). Agree, the search engines suggest Termius as a fix now, so we'll probably leave it as is.
I have to say, I don't like the name and confused it just like the other people.

But, perhaps you could do something with the capitalization of the name to make it more obvious:

"termiUS"

You could accentuate that effect with using a larger font for the last two letters.

Seems like one of the benefits is synchronization, so emphasizing US fits. And then you don't lose your hard fought Google ranking.

But, in any case, it's a great product and good luck!

Good point, we have another domain termi.us so we might alter the name just with a dot.
I read your entire post word for word and read it as Terminus each time, not realizing I had it wrong until your comment.

Perhaps Termius is a fighting a bit much against the flow of "terminal"? FWIW terminus is also a word frequently used on transit ("Terminus station"), which is kind of cute.

I also read the whole post as terminus until I saw your post here
I apologize! I've always called it Terminus... I only just now realized that's not how it's spelled. I honestly mean no offense. I've just always read it as Terminus. Termius isn't a bad name, I just read it as Terminus. Huh. Now I feel bad, because people constantly mispronounce my company's name and I have to correct them.
I read the headline name as Terminus, as I guess 99% of others did as well. When I started reading the description I realized it’s Termius, and thought that’s an odd name that most people are never going to get unless they’re reminded of the spelling/pronunciation a few times. In my view, this is a poorer choice of name and branding. I don’t think you’ll ever see the day when everyone you encounter gets the name correctly on the first attempt.
Until this comment, in every usage of the name from headline to dozens of comments, I only saw “Terminus”.

Human brains are proven to error correct misspellings on the fly, and you are getting told by everyone your name is error corrected to something you’re saying it’s not. That’s a big deal.

Hello, I am a new iPad user and this is one of the first iOS apps I ever downloaded along with iSH on testflight(the alpine linux distrobution for ipad). I have 2 questions if you don't mind:

1) I love iSH because I dont need to be on the internet or connected to any other devices to get a local shell. Is there interest in the project in creating a local shell using busybox or the like built into the app? As awesome as iSH is, unfortunately things like F-keys and general user interface still need a bit of work.

2) Will you folks support mouse integration on iOS 13?

Thanks for the great app. I am rooting for you folks.

1) Termius supports local terminal on Android and Desktop as the OSes allow it. We are constantly looking for ways to add similar functionality on iOS but can't see an appropriate way.

2) iOS 13 brings a lot of benefits for Termius users, including mouse support and on-top keyboard. We will add mouse support, but cannot give ETA yet.

I was about to recommend iSH too so here is the link [1] for anyone interested. The major advantage of iSH, besides being free, is its ability to function offline. Many other SSH clients where just proxies to a server which wasn’t useful on air-gapped or NAT networks.

[1]: https://ish.app/

Thank you for creating one of the essential apps for mobile devices to be able to use ssh.

I'd like to see Termius go beyond SSH. Add in scp / rsync support for file transfers. Add VNC / RDP support for virtual desktops. Or at least X11 forwarding.

Termius already has file management capabilities through SFTP and Amazon S3(Android only). We will eventually add X11/RDP/VNC, but now we are focused on the command line UX to a remote system.
Using a terminal on a mobile is a horrible experience. Smart phone UI's are the antithesis of CLI
I've used Termius on my iPhone a few times when I needed to complete a small task and couldn't be at a computer. For that use case, it's been fantastic!

However, Termius on the desktop (Windows, in this case) falls short of the usability threshold for me because of slow performance, especially at high resolutions. When scrolling a large number of characters across the screen, performance is significantly worse than using Linux terminals like gnome-terminal or Terminal.app on macOS.

Every few months I end up installing the latest version of Termius to see if the performance issues have been fixed, but they have not. Instead, I'm using an installation of mate-terminal on Ubuntu for WSL combined with the X410 server. It's much more clunky to set up and use, but performance is great.

I expect that with the introduction of Windows Terminal, Termius will lose ground if it doesn't improve.

I completely agree that the desktop app performance must be better. We have been gradually migrating from Angular to React under the hood, so having both frameworks slowed down the app. We are going to be done with migration soon, and we are testing WebGL rendering to speed it up even more.
Maybe an agent that just syncs would be a better option (for desktop), so users can keep using their preferred terminal.

Interesting that it is a YC startup.

You can use Termius CLI that syncs the data to your machine and enable working with it in the terminal https://docs.termius.com/termius-cli/termius-cli
Hm, seems like it stores SSH key passwords in plain text?

https://github.com/Crystalnix/termius-cli/issues/132

Any comment on that?

Yes, that is user's home directory, e.g., SSH keys in ~/.ssh are also plain text.
Not their passwords, tho. I am not trying to be difficult here, just trying to understand the reasoning behind leaving the passwords stored in plain text.
We found no way to store password somehow else as Keychains are platform specific, but we plan to add Keychain support in the future.
If you used ‘platform specific’ built-in secrets sync you’d be done... but then how would you justify charging for the built in sync? So I see your conundrum.
> …SSH keys in ~/.ssh are also plain text.

What? Mine aren't, nor have they ever been…

If you are storing ssh private keys on disk without a password you are doing something wrong.

If someone can read the files in .ssh, chances are they can also add an alias to the ssh command that steals your passphrase. As for the "stolen laptop" scenario, whole disk encryption is preferable.
My dot files are valuable to me, and I have struggled with a number of different systems for managing them across devices. I feel less attached to the terminal emulator itself, and switch peridocially as different programs interact weirdly with different terminals. Especially on WSL.

Secure effective syncing would give me the valuable thing, while still having the freedom to bounce around terminals.

For context, I currently use termius on ipad, but use termux on android and flavor of the week on desktop, currently WSLtty. I have used the pro version of termius in the past, but do not currently.

Thanks for the detailed post! I'm usually wary of using close-source programs for sensitive tasks such as connecting to all my remote servers with SSH.

I haven't found any details on the libraries you use, especially for cryptography, nor the steps you have taken to secure your software. Where can we find more info?

Totally understand. As Termius turned from a pet project to our main focus we made security transparency our immediate objective. We are working on the detailed documentation on cryptography, SOC2, and periodic security tests done by 3rd party security professionals.

However, we have addressed the most sensitive part of the product -- the approach we use to store and sync hosts, passwords and keys: https://docs.termius.com/termius-handbook/synchronization#ho.... Syncing of keys/passwords can be turned off when your policy does not allow it to be stored elsewhere. We also support 2FA and Yubikey for authentification.

Thanks for this, not the OP but security is also my #1 concern with this type of product. I'm probably not in the target market anyways so maybe you don't need to listen to me but I love it when companies release info on the way they keep my data safe.

One example, before I sign up for a critical vendor, I like to ensure I can set up secure 2fa with no sms recovery (because sms recovery is broken by design)

A security whitepaper of sorts will probably go a long way on this type of product

I also have been using Terminus from iOS to get to servers I manage. It's been great, thanks. They keyboard will always be difficult but you solved cursor keys and tab. How are you going monetize?
We sell a subscription for premium features that are available on all devices and make engineers more productive. Our next step is a plan for teams where we want to enable collaboration, e.g., sysadmins quite often maintain the same infrastructure so they should have one source of truth of the current state(what servers do we have? what are the recent changes?).
I wish you guys luck! Engineers may be a hard group to sell this to, given how great free desktop terminal emulators are, and how easy it is for an engineer to engineer tooling to generate ~/.ssh/config files from existing sources of truth.

From the research I've done when I was considering using my iPad as a terminal, Termius seemed like hands down the best iOS terminal app. However on macOS, you're going to have to compete with the likes of iTerm2, Kitty, and Alacritty, all very fine open source programs innovating in the terminal space.

I've been a longtime user, I love it! Its a must have on all of my devices.
Thank you, Tom, really appreciate your support!
My main usecase that I use Termius for is that I read mail in mutt on my self hosted mail server. I’ve been hosting my own mail for many years now. Having access to my mail server from my iPhone is nice.

Thank you for making Termius and for the effort that you have put into it thus far.

Great app but the ability to remap caps lock to Esc on an external iPad keyboard is why I went with Blink shell instead.
We are working on Remapping of CapsLock for iOS. Stay tuned.
I do not have very valuable feedback but I've used Termius on the iPad twice when my laptop wasn't available (both emergencies). I haven't found the need to look elsewhere for an iOS SSH client. Great work and good luck!
Blimey, why is the Wozniak quote buried so low!
We were psyched to get this quote from Steve, but the product is a bit complex to grasp, so we devoted the whole landing page to communicate the value.
I’ve used Termius on my phone. It’s phenomenal. Didn’t realize there was a desktop version too.
Small thing I noticed on the pricing page, 'annualy' is misspelled - otherwise looks very nice.
How is this a billion $ business? I've been rejected by YC a number of times, even though we have lots of docker downloads. So, I am just curious, what worked in this case.
Our pitch to Y Combinator: The number of network engineers and sysadmins is around the number of software developers. Sysadmins use SSH all day long while maintaining infrastructure for SMB and enterprise. Termius makes those admins more productive, reduce the amount of errors, and enables collaboration(leads to easier onboarding for new team members). The additional point is that no significant innovation has been done in this space(command line&SSH) for the last twenty years.
I liken it to drinking water.

No “significant” innovation has been done to H2O in a while. That hasn’t stopped plenty of companies getting built on selling what most people with disposable income can also get in high quality for free.

And much like already paying for iCloud, Google Drive, One Drive, or Dropbox, most companies that “subscribe” extra for water delivery to the water cooler in the break room, already pay a water bill.

Product and website look great. Thanks for sharing. Though, can I point out a small discrepancy on your landing page? You claim over 24,000 engineers use the product, then in the same section you claim over 300,000. It makes me scratch my head and honestly I think you lose a bit of credibility. And on the pricing page you claim 10,000. Which is it?
The pricing page seems to be wrong either way, but the main page claims 300,000 total users with 24,000 using it daily.
I didn't catch the daily number. It just seems like they should pick the bigger one and stick with it so users don't need to parse.
(comment deleted)
I’m a hobbyist at best, so the subscription is not justified or useful for me (plus I just don’t like subscriptions). I wish you guys had some intermediate product that allowed a one-time contribution through the App Store. Anyway, thanks for such a great app!
I will second this, and add that I generally resist subscriptions from apps that tout syncing as a subscription feature because I'm already paying to sync stuff with Dropbox/iCloud.
We serve the free version of Termius to hobbyists which is pretty powerful and has no ads. One more benefit that you can rely on it because it is part of a growing startup. Btw, we saw a lot of dead SSH clients in app stores along the way, just because they had no business model, e.g., one-off payment.
Well... thanks again! To be clear, I’m not arguing for you guys to drop the subscription model. Surely it must cover some needs. I’m simply letting you know that a bunch of us want to make a contribution. So something not as full-featured as the subscription product but maybe with another bell or whistle could be a way to implement this. (Personally I don’t need an improvement. It’s already great as it is.)
"no business model" e.g. one off payment

and yet Microsoft (worlds most valuable company btw) built an empire selling software.

And yet here we are in 2019 and they're moving to subscription model
Because now they can rope-a-dope the market segment who don’t need to upgrade every year, usually only with a new computer.

It’s rent seeking of a sort. No additional needed value delivered, artificial change to extract more monies.

Microsoft was not built on $5 one off software.
Per version payment is “no business model”?

You do realize Adobe, Microsoft, others, made money fine for 40 years before realizing they could leverage corporate procurement into wildly overpriced (~3x what was already profitable) subscriptions?

What's a "dead" SSH client? If the client works, and if you aren't connecting to untrusted hosts, what's the problem with using it?
No offense but your point of being reliable by virtue of being a growing startup is rather laughable.

YC money or not, startups come and go, sometimes going with more of their users’ data than they should. You could have avoided making that point altogether.

If you're looking for a polished mobile SSH client without a subscription model, you might be interested in Blink[1]. It's worth mentioning that in addition to SSH, it also supports Mosh[2] (it's the official iOS client!), a remote access protocol tailored to handle spotty mobile connections. It's also open source[3] and gives you access to several Unix commands offline.

[1] https://www.blink.sh/

[2] https://mosh.org

[3] https://github.com/blinksh/blink

Is the "Termius Dark" color scheme saved anywhere? I like to use the same color scheme as my terminal when I am using vim.

PS: Love Termius, by the way! We will be sure to switch to the team plan once the sharing feature launch.

We are about to onboard the first team for a closed beta of Group Sharing! Let me know roman[at]termius.com if you want to test the beta as well.
Oh, great, will do! Any comment on Vim, though? And on a second note, any plans to support true colours?
True Colors now in beta https://termius.com/beta-program. Could you elaborate a bit more on the idea with VIM? We are planning to add custom themes in the future but I'm not sure if it will help with your request about VIM.
Wow, this app saved my butt over a year ago when I ran out of laptop battery while out in the field. It was one of those rare cases where my low expectations did a complete 180 in the first few minutes using the tool.
I love using Termius on my 12.9” iPad Pro with the keyboard. It’s a beautiful full screen terminal with extra features that just happen to pop up right when I need them. I’m delighted to see Termius is with YC now!

Feature request: Unlock the ability to use Termius as a swiss army knife for every iOS app - Using the new Shortcuts features released as part of iOS 13, it seems possible (I have not dug 100%) that support could be built to allow Termius to scp files, in a way that allows collaboration with most every iOS app. A specific example:

I take a photo. I hit the Share button. I tap the Termius icon. A list of hosts I have ssh’d to appears (perhaps with a most recent “current working directory” next to each entry). I tap “webhost (public_html)” and whatever photo I sent to the Share button is uploaded via scp. (Replace photo with “arbitrary file” from the Files app)

Excellent suggestions, I discuss them with the dev team. Would you able to share(roman[at]termius.com) your user stories? What for are you using Termius?
I had Termius installed on my phone for years, and uses it very occasionally in emergency situation when I don't have my notebook around or when wifi is not available. I tried several other apps and eventually settled with Termius and keep it on my iPhone and my iPad for years. I do noticed that there are more intense development in the past six months or so, however all the new development are no longer supports older iPhone/iPad where i had Termius installed. I'm not a system admin, and categorised as one of those casual users, personally I never feel the needs to use Terminus Desktop because even for a casual user to switch from what has been setup on the Desktop to a new app is too much of works, but this might be just me...
Not sure if I missed something, but I can't add fonts. Is that not possible?
We don't support it at the moment. Adding fonts is on the roadmap, but, unfortunately, I cannot give an ETA for this. What fonts would you like to have, we may be able to add those to Termius?
Not the OP, but I want PragmataPro but it's a commercial font (so I need custom font support for that), so at least having Iosevka with ligatures support would be nice :-)

I have been trying Termius on and off for a year (I subscribed), but still couldn't switch away from Blink due to lack of custom font support and inability to map Capslock to Ctrl (but I solved this by using HHKB with my iPad, which has Ctrl in Caps position)

Additionally, please, please consider adding traditional TOTP. I don't like Authy, because its initial authentication requires SMS, and the fact that Authy acts as middle-man between me and the service (e.g. to delete non-TOTP Authy token, the service need to call Authy API to disconnect the user before _I_ can remove the token from my phone)

This is a bit of an edge case, but I want to be able to use an ANSI friendly font for Telnet BBS'. At the moment, the supported fonts just render garbage. It would be ideal for me to select my own font as I find it unlikely you will add 'unscii 16-full'.
Actually, UNSCII is also what I’m looking for in Termius (for drawille).
Folks, I honestly genuinely hate to be "that guy", but neither your description above (too long), nor your website really explains why I need your product. I went to the docs page but it's still not telling me what it does exactly, how it works and why I need this? As a Windows/Linux admin/dev/devops guy what's the selling point?

I think you need some diagrams/videos to explain your stuff a bit more. Show me how it works. Show me the road bumps you're smoothing out.

Cloud synced ssh client is what I got from the description
What does this even mean? Is it like cloud based tmux?
I believe it means (from using their iOS version) you can save your connections, keys, etc, and access the same configs no matter what OS you use.
So similar to using git for your dotfiles etc.?
Imagine transition from MS Word 98 to Google Docs that is what we did to Putty.
>I went to the docs page but it's still not telling me what it does exactly

First paragraph of their comment:

> Termius is an SSH client that works on desktop and mobile. The big difference with other SSH clients that Termius syncs data across devices using end-to-end encryption.

Yeah, I read that....but how? I can already do that with tooling I already have. What's the benefits for me over a bunch of bash and powershell scripts?
(comment deleted)
Looks very interesting. Is it possible to install the Linux version without using snap? Thanks.
We are now adding .deb package. Currently in beta, but should be released pretty soon. You could try it here https://www.termius.com/beta-program
Thanks! It would be great if you can also release a .rpm for other distros as well. I'm using Fedora 30 and Snap is generating some issues, that's why I rather install it using a package.