[offtopic] hosted ssh access & management

I spend a lot of my time using ssh clients to access linux servers, and whenever I go away on my hollybobs I have to make sure my laptop is up to date with my desktop, then make sure my kids’ laptops have putty on just in case, etc. etc.

Does anyone know of a hosted ssh service? By this I mean something I can log into and see a list of my digitalocean/linode/whatever servers and lets me click to log in (even if I had to remember my user/passwords myself) all from a browser.

That way I wouldn’t have to worry about having a specific laptop / config with me at all times, just access to a browser.

1 Like

I was actually thinking about trying to build something like this in anvil for a new site idea I have for some training labs I do for customers.

The only thing I can think of atm to do would be use maybe paramiko to ssh then run a certain command and take the stdout and put it to the page in anvil. I wish I could figure out a way to do a interactive ssh session via a GUI form in Anvil that would be sweet :slight_smile:

pythonanywhere will you give you a ssh console in a browser.

Yea but I need the ssh to be going to my servers with say uplink running or something haven’t thought it through to see if it’s possible

It needs to be ssh access to my server farm.

I was hoping there might be a service somewhere that would offer browser SSH access to a list/directory of my own servers (not storing user/pass or anything).

I’ll consider writing my own, but someone else’s would save me lots of time :slight_smile:

Regarding management, you could create your own relatively easily by:

  1. Write an Anvil app to manage your devices, that stores device details in Data Tables, and has a server function that adds a particular device’s details.
  2. Write an Uplink script that calls the server function with the details for the host it’s on.
  3. Run the Uplink script as a daemon, background task or cron job on every machine you wish to track.

As for SSH access, I created an SSH client in Anvil.

2 Likes

Thanks Shaun.
I was already going down the uplink path, with a subset of commonly used actions (certain problematic processes that need restarting and the like).

It’s just without ssh access I feel naked when I’m away from home, making having a laptop compulsory lest I explode with anxiety. There’s always something to do that I won’t have thought of in advance (that or the uplink process will develop a problem…)

I shall take a look at your ssh example.

I think an Uplink script you can just put on a device to make it ‘phone home’ and register with an app would be really cool. I’ve thought of doing it myself for the fun of it :smiley:

There’s lots of things you could do with a script like that - a device management system where you can track them and control them, plot where they are on a map, create a dashboard of important metrics like CPU load, make them traceroute each other and map the network topography, …

2 Likes

Yea this is some stuff I wanted to do for a learning management system with labs I’ll have to take a look at what you have here, also you think you could just save ssh keys even in the db and use that for connecting?

I might have to set up a jump server. Something like this: Tutorial for setting up an SSH Jump Server | Teleport.

We’ve packaged the uplink into an exe and distributed it before for remote access. It worked great as a daemon.