Accessing Remote Machines

Applications on on-campus workstations and compute servers can be run remotely. This means you can use your personal machine to run programs on your campus workstation.

You can interact remotely with your campus computer in two ways:

  1. Command line:

    How to Connect to an SSH Server from Windows, macOS, or Linux

  2. Graphical remote desktop program

    We would typically recommend that you use the native solutions available for your particular operating system needs because it should give the highest performance (response latency, quality, etc.). 
    From OSTo OSNative Tools
    WindowsWindowsMicrosoft Remote Desktop
    macOSmacOSApple Screen Sharing
    LinuxLinuxNoMachine (also available for macOS and Windows)
    If any of these services is not installed or enabled on your remote machine, please send us a request to do it for you.

IMPORTANT: If you're trying to access your on-campus workstation from an off-campus location, you must ensure that you are connected to the McMaster VPN.

Notes

Working from Off-Campus or Eduroam

If you are not on campus, then you will first need to make make a Virtual Private Network connection in order to be able to connect to on-campus workstations and compute servers; the same is true if you are using the Eduroam wireless  network (Eduroam is, effectively, outside of the McMaster network).

You use your MacID to login to the VPN service. The UTS website has Cisco VPN clients for Mac OS X, Windows and linux.


Speed

Remote graphical connections can be a little bit laggy sometimes.  Using the text/console versions is generally the most nimble way to use remote apps - e.g. R (this is the default), MATLAB (matlab-console) or Maple (maple> instead of xmaple).

Graphical applications running over ssh + X11 will be a little bit slower when run from a remote computer. NoMachine has pretty good graphical responsiveness thanks to its own NX protocol.


Local Disk vs. Remote Disk

It might be easy to lose track of where you are, especially if your remote desktop environment looks a lot like your local desktop environment. To avoid confusion, make sure to take note of what machine you're actually looking at. Triple-check before doing something potentially irreversible.


Screen (terminal multiplexer)

If you have a long running program (incl. MATLAB, Maple or R jobs), you should use the screen utility. Jobs running in screen sessions will continue to run even if you disconnect from the server, and have the added benefit that you can reconnect to the sessions again later (from any computer).

Further reading: How to Use Linux's screen Command


Usernames and Computer Names

If you have the same username on local computer on as you do on the remote host, then you don't have to specify your username when you ssh in: for example, if your username on your current machine is jhsmith as well as on the remote server bayes.mcmaster.ca, you can use 

ssh bayes.mcmaster.ca

rather than

ssh jhsmith@bayes.mcmaster.ca

Additionally, if you are on campus or connected via a VPN, you will only need to specify the hostname, without the domain, in order to connect to it. That is, you can use

ssh bayes

instead of 

ssh bayes.mcmaster.ca

Using ssh keys for password-free ssh connections

If you use ssh a lot, typing your password every time can be tedious and error-prone. Using an ssh-key file lets you type your password once per login session. 

Further reading: Using SSH without a Password