Normally, I installed Ubuntu for people with little experience with computer. These people's tasks are simply email, office work, and some more chit chat online. If I am with them, I can troubleshoot their troubles. However, if I am abroad, this can be a little bit of trouble.
Is it possible to connect to a specific Ubuntu machine from a computer on another country and gain root access level?
You can use Team Viewer it can work beyond proxies.
Installing Team viewer:
For Ubuntu,you can download the teamviewer here. Once downloading is completed, you can install it easily by double clicking the .deb file.After installation you can find team viewer under the Internet Menu(Applications → Internet).
Open the Team Viwer:
Applications → Internet → Team Viwer
Before establishing the remote desktop connection,you must know the ID and Password of the remote system which is running Team Viwer.After getting the ID and Password from your partner.Enter the ID and click connect to partner, with in few seconds it will show a window prompting for a password.Enter the password which you got from your partner and click ok.
Now you are connected to remote sytem.
Note:
To establish the connection, Team viewer must be installed in both the system.
I think you may use Team Viewer. It is free & cross-platform, also works on your mobil device.
You can use it for remote control of your own computer, and help for other people.
See the complete features here.
I do agree, Teamviewer is easy to setup and handle even for non too experienced users. However Ubuntu built-in VNC can do the same job without the need of trusting an external commercial company. However both depend on a working desktop environment, which may be not the case when your support is needed.
For this situation you can install openssh-server on the remote side. Then you can login to the remote computer via SSH in terminal mode. Permissions are given according to the permissions from the user account you login.
For further reading see also the Community Wiki.
If you take the SSH route, you can also use NX, http://www.nomachine.com/. NX forwards X though SSH.
What I do: give one of the workstations or a server inside the LAN a static IP address; on the router, forward port 22 to the static workstation or server; set up dynamic DNS (no-ip.com or dyndns.org) so that you can find the workstation anywhere in the world by its current external IP address. Then use unencrypted VNC to go from that workstation to others within the LAN.
There's also www.LogMeIn.com, which works fine. It's simple, and it works.
Chris
There are several issues that need addressing.
Are the other computers behind a national or local firewall?
Do the other computers have a globally addressable IP?
Are there several computers on the same local (home) network behind a router?
By far the easiest way for both you and your users will probably be some sort of remote assistance program like team viewer. Depending on how teamviewer is set up, they might need to open a port for it in their router/firewall.
If you need to administrate the computer (as opposed to assist user issues) then there are several more powerful options. If the computer is exposed to the internet, you can simply ssh into the computer to perform all administrative tasks, ssh also does X forwarding although it is pretty sluggish, I prefer NX for remote desktop/X forwarding situations.
screen
has some useful pedagogical features, since all users logged into the same screen session see the same terminal, you can use (and I have done this) screen as a very productive tool to teach a remote user how to use and operate the terminal.If the computer is behind a router it becomes a little more complicated. You need to instruct your user to open up ports on their router, or at the very least allow remote router configuration (this is dangerous so beware, once they open up router to the internet you should log in and make sure all IP's except your home/work ip is masked). If there are one or two computers behind the router you need to administrate you can open up an individual ssh port each (say 22 for the main PC and 8022 for the second one). With >3 computers this becomes a nightmare to manage so the easies sollution is to do a "dual-ssh", you ssh into one computer on the intranet that has port 22 forwarded to it and then from that computer you ssh into all the local PC's as you wish. For large networks you can set up a VPN which will behave very similarly (in essence your computer will "seem" to be on the remote intranet, you can connect to all the computers as though they are on your own LAN).
If there is a corporate/school/national firewall in the way you need to instruct the user to contact the person in charge of the network to see how you can get a port forwarded to their PC.