I run a local Ubuntu machine. I am on an external network and windows boxes. Typical ssh ports are blocked by the network. Is there a way to ssh via web (some other) to the my home ubuntu box and along with doing that when I login remotely from network windows - can I start apps and see the gui. Looking for some suggestions.
1 Answer
You can have your home Ubuntu box listen for SSH on non-default ports; see man sshd_config
and look for port settings. In Ubuntu the file to edit is /etc/ssh/sshd_config
.
If you're running any network firewall at home, or your ISP is, then you will need to open up the new port. (Alternatively, if you have a network firewall at home, you could have it listen on a non-default port, and merely redirect that traffic to the default port 22 on your Ubuntu box.) How you do that will be specific to the firewall or ISP.
You will probably want to use a port number over ten thousand or so, simply to avoid potential blocking at work.
Don't forget to specify that same number from your config to your SSH client, else it'll still try to reach the default 22.
Getting GUI software running on your Ubuntu box to display on your Windows box at work is a whole other can of worms. The short version is that you will also need to enable X11 forwarding (there are entire sections about X11 forwarding in the ssh(1)
man page, so read those) on both the SSH client and server. On Ubuntu this is usually on by default, but again check /etc/ssh/sshd_config
.
You will also need to run some kind of X11 server on your Windows box to handle the actual rendering and displaying; that is where the can of worms gets opened, and is another question all on its own -- you have a lot of googling ahead of you here, largely constrained by whether you can get an X11 server to run on your employer's computer. Bear in mind that doing so may violate your employer's IT policies.