Today we announce the general availability of our SSH gateway. It was in Beta for a while but is now production ready. All of this means you can now SSH to your VMs \o/.

If you are in a hurry, everything is explained in our documentation. Now I would advise you to still read what follows because it's important.

Friends don't let Friends SSH on production

Or do they? Delicate question. At Clever Cloud we get scared when an SSH connection is opened to a production VM. This usually means something is wrong. Then there are two options.

  • A user gets on the machine to debug something, fixes it on their code, pushes and redeploys.
  • A user gets on the machine to debug something, fixes it on the machine and calls it a day.

The second option is the one we dread. Since Clever Cloud embraces Immutable Infrastructure, all our machines can be replaced by new ones at any time. Which means that if our user logged in a machine with SSH and fixed something wrong on that very machine, all they did will be lost after a new deployment.

So as a reminder, we really want you to be careful and to always remember that doing things manually through SSH is a bad practice, that it should have been automated. It is however perfectly ok to use SSH to figure out what is wrong on the machine and then fix your code :)

How does it work?

You can SSH to an instance of your application in two different ways. You can use SSH or the clever-tools CLI.

With SSH

Super simple, simply type ssh -t <app_id> and you are in.

With Clever Tools

Even simpler, if you have our CLI tool installed:

clever ssh
> Opening an ssh shell
> bas@67fbf787-3518-47bb-abd9-2c2575844edd ~ $ 
If multiple instances are running, you will be asked which one to use:

clever ssh
> 1) Sleepy Ponita - Instance 0 - UP (11281f38-31ff-43a7-8595-a2d82630c32b)
> 2) Tense Caterpie - Instance 1 - UP (b10d19d9-5238-408b-b038-3e32c7a301c2)
> Your choice: 1
> Opening an ssh shell
> bas@11281f38-31ff-43a7-8595-a2d82630c32b ~ $
And that's all! We hope you like that new feature and that you will put it to good use. Remember that with great power comes great responsibilities!

Profile picture of Laurent Doguin
By Laurent Doguin

Head of Developer Relation @clever_cloud. Devoxx Champion. I am also a nerdy metal head living in Paris.