SFTP to Linux Using Cyberduck (Windows, Mac)

Cyberduck is a free1 cloud storage browser with support for all kinds of protocols and services. One of those protocols is SFTP, which you can use to access your files on CASLab.

For the example below, we will be demonstrating using a CASLab Linux server. If you are trying to connect to another Linux server or machine, please replace the following:

  • Nickname: Whatever you’d like to call this connection.
  • Server: The server/machine’s URL (like files.caslab.queensu.ca) or its IP address.
  • Username and Password: Your credentials to log onto that specific server/machine.

Once you have downloaded and installed Cyberduck and launch it, you should see a window that looks like this:

Click the “+” button at the bottom left side (highlighted above). This will add a new bookmark. Select “SFTP (SSH File Transfer Protocol)” from the dropdown. Give it a name like “CASLab” and use files.caslab.queensu.ca as the server. Then type your CASLab username and password and close the window.

Now you should see an item called “CASLab” (or whatever you called it) in the list.

Double click that new item to open a connection to CASLab. You may be prompted to accept an encryption key. Click “Allow.” (Check the “Always” checkbox to avoid this prompt in the future.)

And then you should see your files.

If you have any problems, please consult the FAQ first, then contact us if you’re still having difficulties.


  1. Cyberduck is donationware, which means it makes money from donations (pay what you want). It’s free, but you will be prompted to donate from time to time if you have not already donated and obtained a license key. You can get it by going to the Cyberduck website, or from the Windows / Mac store, but if you get it there, it will cost money (around $30 at the time of writing). There is no difference between the paid version and the free version – it’s just something to be aware of. ↩︎

Use X2Go Client to Log in to CASLab Linux

CASLab Linux and Unix machines can now be accessed from home using X2Go remote technology. X2Go allows users to have full-screen sessions at nearly full speed even over fairly slow connections from home.

X2Go is already installed on all CASLab machines.

Installing X2go on your machine

Download X2Go for your platform (Win, Mac, Linux) and install it.

Mac OS X Installation Note

There are a couple of extra steps you’ll have to do to install X2Go on a Mac. When you first open X2Go, you may get the following notification:

First, if you see this, you will have to go to your system preferences and then go to “Security and Privacy.” At the bottom of the window, it should display a message about X2Go being blocked. Simply click the “Open Anyway” button and you shouldn’t have to worry about it again.

The second step is to install an X11 server which can be obtained from the xQuartz homepage. If you don’t have it installed, you’ll get this notification:

Download XQuartz from the XQuartz homepage or simply click the link in the dialogue (shown above). Installation is fairly simple. Click the icon and go through the package installation wizard.

After installing XQuartz, you must log off and log on again for it to be detected. After doing that you should be able to proceed with these instructions.

Configuring X2Go

Once you’ve installed the X2Go client, open it with this icon:

X2go_icon

You will be prompted to start a new session:

X2go_session

Fill it out as seen below. For the Host, use one of:

  • linux1.caslab.queensu.ca
  • linux2.caslab.queensu.ca
  • linux3.caslab.queensu.ca
  • linux4.caslab.queensu.ca
  • linux5.caslab.queensu.ca
  • linux6.caslab.queensu.ca
X2go_session_config

Once your session is complete, you should see something like this:

X2go_session_connect

Click on the session “CASLab Linux” to the right. You will now see:

X2go_session_connect_2

After you enter your password and click OK, something like the following will display:

X2go_session_connecting

The first time you connect, you will be prompted to save the host key. Click “Yes.”

X2go_session_connecting_firsttime

In Windows, depending on your firewall settings, you may see the following. Click “Allow access”

X2go_session_connecting_win_firewall

Once you’ve successfully connected, you will be presented with the standard CASLab Linux desktop. Congratulations! You’re connected!

(Note: Depending on settings, your desktop may look a little different.)

When you’re done, don’t forget to log out. You can do this by clicking the power button in the applications menu at the top left. (Depending on your settings, you may instead have to click your name at the top right of the screen.) If you don’t, your session will continue to bog the system down for others, even when you aren’t using it.

Understanding Unix and Linux File Permissions

Unix file permissions are expressed in three octal digits. Running ls -a from a Unix (or Linux) terminal on a file with permissions 644 might look like this:

-rw-r--r--    1 bhall  staff      2216  6 Dec  2007 x11_update.sh

The first, or left-most, octal digit (“6” in this example) indicates a file’s owner’s (your) permissions, the second a user group’s permissions, and the third public permissions (applying to everyone else).

Here is a table of values showing the effect that each of these octal digits has on a specific owner or user group’s permissions.

OCTALBINARY*EFFECT
0---No permissions (access blocked)
1--xExecutable**
2-w-Writable
3-wxWritable, executable
4r--Readable (read-only)
5r-xReadable, executable
6rw-Readable, writable
7rwxReadable, writable, executable
* Each octal digit can be represented in three bits corresponding, as read from left to right, to read (r), write (w) and executable (x) permissions. Thus, a 6 octal digit, normally written 110 in binary, shows up in a directory listing as rw-, meaning read and write permissions are granted, but not execute.
** Directories must have the executable bit set to be accessible

So, a file with permissions 755 would be readable, writable, and executable for you (as the file’s owner), and readable and executable, but not writable for the group and for the world (public). To apply this set of permissions to a file called myscript, you would run the following command in a terminal window:

chmod 755 myscript

Generally, folders need to have permissions 755 for everyone to be able to read the contents, and files need to have permissions 644 to be viewable but not editable by anyone other than you.

If these are web files, Apache (the web server) runs as another user, so files edited by Apache have to be writable by the Apache process, so the file(s) have to be at least group writable if Apache’s user is in your group.

Of course, you should give least permissions, so if Apache needs to edit a particular file, it should be as weak as 666, but the directory that the file lives in can be 755, and other files can be 644.

For further reading, see https://www.tutorialspoint.com/unix/unix-file-permission.htm.