Debug your builds like a pro.

Stop pushing 50+ commits just to get your build working - SSH into the build environment and debug interactively.


Live Sessions


Sessions Ever



Frequently Asked Questions

How do I get started?

You will need to install the sshst binary on both the client (e.g. your laptop) and the server (e.g. the build environment). Check out Getting Started below.

How much does it cost?

It's free. I might have to revisit that if this project bankrupts me. I'll try think up some paid options, like vanity domains, etc. Please don't bankrupt me.

Is my data private?

Sure is! Your data is protected by SSH itself and the sshst binary (which is both the client and server) is open source (and fairly small) so you can verify nothing untoward is going on.

Why did you make this?

I made it for myself. It scratches an itch I've had for a very long time. And it was fun to make. I've been using it for about a year now and finally got around to making a website for it. Maybe you'll find it useful too.

Are the numbers above accurate?

Not yet. I just made them up. But I figure it'll be pretty cool when I get around to implementing it, right?

I've got an infrequently asked question.

Head on over to the GitHub repo and ask there. I'd be happy to clarify any questions you have.

Getting Started

Getting started doesn't take very long at all - and it doesn't even require signing up. Download sshst onto your laptop and build environment and you're a couple commands away from debugging bliss.

Install on the client

On MacOS, run brew install sshst/taps/sshst. Then add this to your ~/.ssh/config:

Host *
  ProxyCommand sshst connect --sni %h
Install on the client

Enable push notifications

This is an optional step, but it means you can add -g aidansteele --notify-user aidansteele to get a cool push notification whenever a build fails and is waiting for you to log in.

Add to your CodeBuild buildspec.yml

Add curl | bash -s -- --web-ok to your build spec, ideally in a finally section. Only failed builds will trigger an interactive session. Now go and break a build!
Add to your CodeBuild buildspec.yml

Add to your GitHub Actions

Integer ornare neque mauris, ac vulputate lacus venenatis et. Pellentesque ut ultrices purus.

Add to your GitHub Actions

Add to your Raspberry Pi, container or toaster

There's nothing limiting you to using this in just a CI context. Connectivity can be established anywhere. Tweet me with the most ridiculous place you use it!

Add to your Raspberry Pi, container or toaster