Tuesday, January 21, 2020

mc2router - a simple yet versatile tool to get stuff done over Meshcentral 2

Meshcentral 2 (or we passionately call it MC2) has been remote management choice for many of my team members for more than 3 years. Being able to remotely see the screen, access the shell and transfer files to our devices regardless the location of the devices have been very valuable to get stuff done.

While contributing to this project, I realized that there is a very nifty feature of MC2 which is network tunneling features. Meshcentral 2 comes with small router application however to get stuff done quickly I thought it would be great if there is a simple Node Webkit or Electron-based application to simplify this. So, I wrote this with feedback and contributions from many friends.



Unassumingly, it looks like a simple little utility and it has the same theme as MC2. Well, the creator of MC2 himself style it. Thanks Ylian.

Once logged in, you should be able to see all the meshes (the terminology recently has changed to device groups) and the devices on each mesh.

Let say we select one of the machine and then click SSH. A Putty shell will pop up and it connects to local listening socket (with randomly assigned port) fired up by mc2router. It will then trigger establishing network tunnel to the agent of that device to particular TCP port (in this case port 22). Since this is SSH, obviously SSH negotiation will start and if we do not have the device certificate fingerprint saved then Putty certificate warning will pop up.


Once the certificate is accepted, we should see normal Putty login prompt. Fill in the credential and if successful we should see shell like normal SSH session.

Besides SSH, this utility has RDP, FileZilla/SFTP capabilities. If users would like to custom tunnel their favorite application, there is custom button to configure (see File->Configure). Oh, by the way this utilities supports HTTP and SOCKS proxy too.

If you would like to play around with this utility, please see https://github.com/jsastriawan/mc2router. Feedback via Github issue is welcome.

No comments: