With LogMeIn Central putting up their prices all the time, I finally switched to ConnectWise Control. ConnectWise has been good but I decided that I would like to try and come up with my own solution for when they decide to also put up their prices. I had been playing around with SSH tunnels and VNC or RDP, which worked - I just needed a way to manage them through some kind of web interface, and also a nice way to deploy things as a service. For some reason I couldn't find any open source project that did this kind of thing, until one day I accidentally found MeshCentral and it the whole lot. It can even be installed on a Raspberry Pi.
All you need to get it working is a hostname and NodeJS. If you are planning on having lots of PCs connected to your MeshCentral server then MongoDB is recommended, but for less than 100 PCs it can just use an neDB file. By default MeshCentral listens on the ports 80 and 443, these require root. So if you want to use those ports you either need to install and run MeshCentral as root (not recommended) or you can give node permission to bind to the privileged ports with
$ sudo /sbin/setcap cap_net_bind_service=+ep /usr/bin/node
now you can install MeshCentral using npm
$ npm install meshcentral
After it finishes downloading you should have a node_modules directory
$ ls -l
total 104
drwxr-xr-x 134 meshtest users 4096 May 25 17:37 node_modules/
-rw-r--r-- 1 meshtest users 96994 May 25 17:37 package-lock.json
-rw-r--r-- 1 meshtest users 57 May 25 17:37 package.json
and you can start up MeshCentral with
$ node ./node_modules/meshcentral
This will generate SSL certificates and start the server. You can then connect to your server on whatever your IP address is, for example https://192.168.1.6/
. Obviously you will get warnings about the certificate being self-signed so will need to click through to accept that. You can also connect to the server on localhost or 127.0.0.1 but doing so would mean you can't deploy the agent to other PCs. The best thing would be to have a public IP address and a FQDN for your server, but for now I am just testing on the LAN.
You should see the login page:
Since this is a fresh install you have no users set up, so click the link at the bottom to create one and this will be the admin user
After creating an account you will be taken directly to the MeshCentral devices page where you will first need to create a group:
Once the group has been created you will have the "Add Agent" option next to the name of your group. Clicking this will allow you to download an agent for Windows, Linux or MacOS. You can then copy it to another PC on your LAN, install it, and you should see it show up on the MeshCentral server dashboard. You can also visit your MeshCentral server directly in the browser from the PC you want to add which might make it easier to download the agent - and will also confirm that the PC has access to your server.
After running the agent installer on the PC and installing it, you should see it show up on the server in the group you created earlier:
And if you click on it and go to the Desktop tab you can Connect and control the PC from your browser: