With the price of logmein central doubling every year I have been trying to find an alternative system for connecting to clients Windows PCs which doesn't require them to configure port forwarding on their router or start up software manually every time. The best mixture of software I found so far is
- SSH server
I am using a Slackware Linux server and created an account for each client PC that I want to be able to access by remote control. For example I created the account 'tun-clienta' which will be used for one PC and 'tun-clientb' which will be used another.
MyEnTunnel is used to create an SSH tunnel from the client PC to my Linux server so that a connection to the client is available without having to set up port forwarding. Each client will use their own SSH tunnel user account and have their own port number allocated - these must be preconfigured in the myentunnel.ini and remoteports.txt.
For example client A will login to the SSH server with the username 'tun-clienta' and set a remoteports.txt option of "35001:127.0.0.1:5900" and client B will login as 'tun-clientb' and have a remoteports setting of "35002:127.0.0.1:5900". This will make client A's desktop accessible on port 35001 on the server and client B's desktop on port 35002.
I used TigerVNC installed as a service on the clients' Windows PCs to provide the remote control. I configure the TigerVNC service to only allow connections from localhost and to not require a password for login (but for extra security there is no reason why a password can't be used). You could use any VNC server as long as it works with Windows, or you can use RDP by setting up the tunnel in remoteports.txt to connect to port 3389 instead of 5900. I tested with RDP first of all but had problems connecting to it on a few servers because of encryption settings.
With the SSH tunnel set up and the VNC server running on the client PC a remote control connection is availble from the Linux server to the Windows PC. To be able to control a clients PC via the Linux server from my desktop PC I installed Guacamole. This provides a web interface which allows me to choose the PC I want to connect to similar to how logmein central works.
You can set up a number of users in the Guacamole user-mapping.xml file to allow remote control access for the clients to connect to their work PCs from home.
Using this method I have a working remote control system, but I wouldn't call it reliable. The biggest problem is that MyEnTunnel doesn't start up at system start, and if the user logs out then the tunnel will also be closed down - it does autoreconnect the tunnel if it gets disconnected though. It may be possible to run MyEnTunnel as a service to make sure it is always up, or it might be better to use plink as a service but then there would be no auto reconnect feature and I don't think running as a service is supported in modern Windows environments.
The other problem is the setup on the client PCs can be quite confusing so an installation package would need to be created to make it easier. Scripts would need creating on the server too to create an SSH account and allocate a port number when a new client is connected.