Showing posts with label ssh. Show all posts
Showing posts with label ssh. Show all posts

Sunday, October 10, 2021

PageKite, an Open Source Alternative to Ngrok

I love ngrok and I've gladly paid the fees necessary to gain access to the commercial add-ons to their insanely robust and dependable solution to gain remote access to locally run services on many kinds of machines (Mac, Win, Linux).

However, when you have whole fleets of machines to run and especially in development mode when you need to be able to enable ad-hoc remote access (read ssh) to machines in the field, ngrok can become expensive as your go-to solution. While an excellent choice in many cases, if you need to be able to run your own public proxy and enable your own levels of scalability, ngrok's commercial offerings, while they are capable, make things difficult.

 Enter Pagekite (https://pagekite.net/) - functionally similar in many ways to ngrok, it offers an open source alternative that you can make your own. 

 Weirdly enough the team does not seem to be believe in the value they bring of being able to host your own proxy on the internet and make the feature a poorly documented afterthought. But if you can work out the relatively simple issues in terms of getting it all to work then they have a lightweight alternative to ngrok that can provide 90% of ngrok's features out of the box.

They offer their own hosted proxy service and if you're ok with that you'll find it simple enough to use. If you're looking to host your own and having trouble - feel free to write to me for tips


Sunday, June 30, 2019

Problems Giving SSH Access to Your Linux Instances?

I have a number of projects running under Google Cloud with some projects having Linux instances that collaborators from outside of my organization need ssh access to.

Google's systems have excellent documentation, but Google themselves created a little bit of nightmare working out exactly what I needed to do by making all notes, discussions on the solution accessible through their search system. The problem is that search results typically do not come with an expiry date and it was a good few hours of work to work my way through each of the options offered before realizing that they had been superseded.

To make this easier let me first provide some background for my need:
  • I have a technical collaborator who has a standard Google account 
  • The person is NOT in my organization (see Google documentation on what is meant by an organization) 
  • I also have Linux instances in projects under my organization this collaborator needs occasional command line access to 
  • I want to use the standard Google IAM access control mechanism rather than messing around with manual key based access control
  • I also wanted to give this person access to SSH over the browser because this makes things super easy for access from things like chrome books
If you needs are exactly as above firstly try Google - currently valid material is available at Google: https://cloud.google.com/compute/docs/instances/managing-instance-access#configure_users 

If this does not work for you try my steps (as of 30June2019):

Within 'IAM & admin' - Allow external logins at the Organization level


 

Within 'IAM & admin' - Add your users to your project as service account users:

Within 'Compute Engine-VM Instances' add the following permissions in your target VM for your external users