Linux @ RMIT

If you are on Linux at RMIT you may not have much information or support available, so I will try to help a bit and collect here some useful tips, solutions, and processes for running Linux within the RMIT network effectively.

If you have solutions to problems that other Linux users may encounter, please forward them to me and I will add them to this page. You can also leave comments at the bottom of this page if you think it can be useful for other readers.

Note 1: some of the sections have become out-dated or not relevant anymore, in big part I believe thanks to RMIT/ITS providing much better and reasonable infrastructure (e.g., allowing ssh to the outside), which is fantastic and welcome!. If you spot an updated or not relevant part, let me know and I will mark it as such.

Note 2: in July 2021, I migrated the page to a GitHub Gist; and in Jan 2022 to my home page. I have then deleted most of the irrelevant sections that were in the original document](/linux-rmit.git/linux-rmit-old.pdf).

Printing at RMIT

Note (April 2018): Printing now exposes a bonjour/airprint interface called rmit-global located on the server pcutprdap02

It only seems to work for E number users (not student accounts), but doesn’t require any PaperCut client to be installed as it does the authentication with its own interface. Works without any further configuration on OSX.

This is how to print in the new Think Print system ( http://www.rmit.edu.au/its/thinkprintl ; you won’t find any instructions to Linux systems, Linux is not even mentioned!).

  1. Get the PaperCut client. The system uses PaperCut print management software. You then need to run the client in your Linux box. You can download the server+client from PaperCut web site itself, and extract from there the client part. You would need to do some configuration there too though ;-) Or you can just download our zip file package here, which is already configured for RMIT network.

  2. Run the PaperCut client. The system uses a “popup” authentication to match the username with the IP address from where the job originated. Therefore, the PaperCut client needs to be running in the background. So, just run the pc-client-linux.sh script to start it and use your RMIT username/password.

    • You may want to replace the script pc-client.linux.sh that comes with it with an improved one that works as symbolic link and also runs in the background so that it doesn’t block. Get it at the bottom of this page or clik here and overwrite the default script.
  3. Install LPD Printer. Next you need to install a printer queue in your Linux system:

    Printer Type: LPD
    Host: `winsprdps01r001.rmit.internal`
    Queue: `Ricoh-Global-Client`
    Driver: Ricoh Aficio MP C3002 PS
    

After the setup, just send a print job and the PaperCut client should “popup” for username+password. Hopefully, you should get the printout from the nearest printer (after a swipe and few clicks!).

Finally, there is a web page to check print history and other bits of info at http://pcutprdap01.rmit.internal:9191/

Good luck!

Acknowledgement: the non-trivial research to find all this and make it work is due to PhD student Nitin Yadav, big thanks to him for all of us Linux users!

  • Comment for Fedora 18, x64: I had a few issues when upgrading to Fedora 18, x64 and thought this might be useful to others - It seems the printer queue string is completely ignored in the new GUI. I’ve just got it working, manually entering “lpd://winsprdps01r001.rmit.internal/Ricoh-Global-Client” in the cups config page (http://localhost:631). I’m not sure if it’s important but I’m using the “Ricoh Aficio MP C3002 PS” driver which came with the F18 distribution and I added myself to the “lp” group.
  • Comment Kubuntu: In order to set-up the printer on Kubuntu (KDE), it is necessary to use “system-config-printer” in terminal instead of using the GUI (it seems that kcmshell4 ignores the queue in the configuration). The drivers are already available and accessible via system-config-printer and there is no need to include PPD file manually.

Mounting your goanna/yallara account locally

Note: goanna/yallara has been decommissioned as far as I know… But this would work for other unix-based systems.

It is possible and easy to mount directories in goanna.cs in your Linux box as a user, including your home directory. This will allow you to work on files stored in goanna as if they were part of your desktop file system. To do that, we can use the FUSE library which mounts file systems in the user space via ssh. This avoids then the complicate use of Samba or NFS shares (which RMIT does not provide anyways!).

So, suppose I (user ssardina) want to mount my home directory at goanna.cs in a local directory called ~/goanna-home. It is as simple as executing the following command:

$ sshfs -o uid=`id -u`,gid=`id -g`,workaround=rename,reconnect,follow_symlinks     
                                  ssardina@goanna.cs.rmit.edu.au:/home/s/ssardina ~/goanna-home

Now, in ~/goanna-home I basically have access to my home directory in goanna.cs ! So simple… Observe the permissions you will have on all files and directories there are the very same you would have if you log in into goanna.cs via ssh interactively (despite the fact that in your filesystem it will appear as if owned everything).

Finally, to unmount the directory we can just run:

$ fusermount -u ~/goanna-home

Of course, one can also mount in the same way the directory /research

Finally, if I do not want to issue the above large sshfs statement every time I want to mount the filesystem, I can add the following line to /etc/fstab to mount the remote filesystem into local directory /mnt/goanna-ssardina/ssardina:

sshfs#ssardina@goanna.cs.rmit.edu.au:/home/s/ssardina /mnt/goanna-ssardina/ssardina fuse workaround=rename,user,reconnect,uid=1000,gid=500,follow_symlinks,fsname=sshfs#ssardina@goanna.cs.rmit.edu.au:/home/s/ssardina 0 0

You need to replace the username, uid and gid numbers, and mounting location. Then, to mount the filesystem we can just run:

$ mount /mnt/goanna-ssardina/ssardina 

Obs: to avoid sshfs asking for password authentication every time you issue the mounting command, it is best to set up your ssh configuration (in goanna.cs) so that no password will be required. This involves basically adding the RSA key of your local system into the file ~/.ssh/authorized_keys2 at goanna.cs. [just google “no password ssh” and will be get lots of pages explaining this].

myDesktop: Running RMIT Windows remotely from your Linux Box

You can still run full RMIT Coorporate Windows from your Linux box. To do that you just need to install the Citrix Client. THis worked form me on Linux Mint 18 (Using Ubuntu 16.04) on Feb 2017:

  1. Get the icaclientWeb_13.10.0.20_amd64.deb package from Citrix (version as of March 2021)
  2. Install the package: sudo dpkg -i icaclientWeb_13.10.0.20_amd64.deb
  3. Add more SSL certificates and Chrome pluging by following steps 5 & 9 in CitrixICAClientHowTo
  4. Start the Windows system by visiting and logging in into mydesktop.rmit.edu.au via Chrome
  5. Select an application, like Chrome or Firefox or X. It will download an .ica file.
    • for example, my file was named RGVsaXZlcnlDb250cm9sbGVycy5Hb29nbGUgQ2hyb21l.ica
  6. Either tell the browser to open with the Citrix Receiver Client or download the .ica file and click on it and the application (e.g., Chrome) should start!
    • in Chrome, it seems one has to download the .ica file and then click on it; in Firefox you can instruct Firefox to open the file with the Citrix Receiver Client.

SSH to an outside machine via tunneling

NOT RELEVANT ANYMORE (Oct 2017) - One can ssh outside without any problem (good!)

Suppose you want to ssh from your office Linux desktop to server cs.outofrmit.edu which is outside RMIT network. Initially, you cannot: you will have to login to goanna.cs and ssh from there to cs.outofrmit.edu. We can solve this by creating a permanent “tunnel” to X via either RMIT http proxy or goanna.cs. For that there is a clean automatic way and a more “manual” one:

THE AUTOMATIC WAY - TUNNELING VIA RMIT HTTP PROXY

(thanks to Steven Shapiro for coming up with this one!)

  1. Install proxytunnel application; it is very standard and most distributions have them in their repositories (e.g., Ubuntu).

  2. Add this to your ~/.ssh/config file:

    Host cs.outofrmit.edu
    ServerAliveInterval 30
    ProxyCommand /usr/bin/proxytunnel -p aproxy.rmit.edu.au:8080 -P <your NDS account>:<your password> -d cs.outofrmit.edu:22
    

    The ServerAliveInterval line is used to keep the connection up by sending occasional NULL packets. Such option depends on the ssh client (in this case OpenSSH) and not proxytunnel itself, so check your ssh system. If you use Debian-based system the option is called ProtocolKeepAlives instead (thanks Timothy Jones for pointing that out!).

    I believe the authentication credentials (option -P) is not required anymore (Jan 2015) and can be dropped.

    Another, possibly simpler way, is to just add this using nc:

    Host *
        ProxyCommand nc -X connect -x proxy.rmit.edu.au:8080 %h %p
    

    This will tunnel every host, but it can easily be use per host if desired.

    run ssh cs.outofrmit.edu and you should first get something like:
    

    Via aproxy.rmit.edu.au:8080 -> cs.outofrmit.edu:22

THE MANUAL WAY - TUNNELING VIA GOANNA

This are the steps:

First, create the tunnel:

$ ssh -L 9922:cs.outofrmit.edu:22 goanna.cs.rmit.edu.au

This of course creates an ssh session to goanna.cs, but moreover it creates a tunnel from your local port 9922 in your desktop to port 22 at server cs.outofrmit.edu (where the ssh server should be listening). So, everything that goes to port 9922 of your local machine will be forwarded to port 22 of server cs.outofrmit.edu via (the ssh-connection to) goanna.cs.

Next, we can ssh into server X by connecting with ssh to our local port 9922:

$ ssh localhost -P 9922

This will then open an ssh connecting to the remote server cs.outofrmit.edu as desired.

Important: The ssh connection opened in step (a) must remain opened. If it closes, then the ssh connection opened in step (b) will also be broken.

Obs: One can create several tunnels in the same ssh connection (a) above, by simply adding more -L statements. Make sure, though, to use different local ports for each different tunnel.

SSH into an RMIT machine from outside

Suppose now you want to ssh into an internal machine X within RMIT network from outside (e.g., your home). The manual way is to first ssh into an internal server in RMIT that is exposed to the outside world, and then ssh to the specific machine X.

You can do that all in one shot by adding the following to ~/.ssh/config:

Host myrmit-desktop
Hostname <IP of the machine to ssh into>
User <username>
Ciphers arcfour
ClearAllForwardings yes
ProxyCommand ssh <username-at-goanna>@goanna.cs.rmit.edu.au nc %h %p

Here, goanna.cs.rmit.edu.au is the server inside RMIT that is exposed to the outside (and that you have access to, of course). Now, you can just run “ssh myrmit-desktop” and it should work! If you don’t have an account in goanna you can achieve the same thing with yallara.

Accessing RMIT resources (e.g., articles from subscribers, etc.) from outside

First, if you are trying to get an article as if you were inside RMIT network, just access access it via the proxy by prefixing the URL with this Proxy link:

https://login.ezproxy.lib.rmit.edu.au/login?url=<YOUR ORIGINAL LINK>

So, suppose you want to access this paper from off campus:

https://ieeexplore.ieee.org/document/8468047/

Then you would visit

https://login.ezproxy.lib.rmit.edu.au/login?url=https://ieeexplore.ieee.org/document/8468047/

Another example: to get Google Scholar via the RMIT proxy by visiting the link:

https://login.ezproxy.lib.rmit.edu.au/login?url=http://scholar.google.com.au/

OR better still:

https://scholar-google-com-au.ezproxy.lib.rmit.edu.au/

For a more general solution, from terminal, set up a port forwarding via some ssh machine inside RMIT that you have access (yeap, you need one!), say coreteaching01.csit.rmit.edu.au:

$ ssh -D 9999  coreteaching01.csit.rmit.edu.au

Then, set up the Proxy of your browser (e.g., Chrome, Safari, Firefox) to localhost on port 9999. All the traffic from your browser will go to port 9999, which will go via coreteaching01.csit.rmit.edu.au as if you were inside RMIT network.

As changing the proxy back and forth in your browser every time you need is painful, you may want to use an extension to do this, such as FoxyProxy (for some reason the FoxyProxy extension for Chome does not seem to work; Firefox works well). Finally, when you visit a page it is like doing it inside the RMIT network.

Mounting RMIT home drive

First of all you can access your home directory at https://mydrive.rmit.edu.au using a browser.

To mount this directory in your system follow this:

  • Samba server: smb://eXXXXX@rmit.internal/USRHome/eh5/eXXXXX
  • Domain: rmit.internal

NOTE: the “eh5” component will be different for each user. It is based on the last 2 digits of your e-number:

  • We use el if the second to last digit is between 0 and 5, and eh if it is between 6 and 9.

  • Last number is the same as your e-number. So, for example:

  • the path for user e76763 is “eh3”: “h” because second to last digit is 6 and 3 because it is the last digit of the staff number.

  • the path for user eE05411 would be “el1” ("l" because second to last digit is 1).

The elX/ehX scheme works the same way for students, except that e is replaced by s for students. Its easier to just cut and paste it from your mydrive though :).

To set up a more permanent link, you can add this to your /fstab as follows:

//rmit.internal/eh<N>/<EXXXX>  /mnt/rmithome cifs  noauto,user,credentials=/home/<username>/.mydrive,uid=<username>

and create a file .mydrive in your home folder containing one line:

username=EXXXXX

Make sure you have mount.cifs (e.g., install package cifs-utils)

Then, just issue command:

$ sudo mount /mnt/rmithome

Note: This was all taken from Shane Culpepper’s and Ron van Schyndel’s emails (April 2013). Some later fixes provided by Jessica Rivera Villicana (2014).

Contributors

Over time several people have provided me with information to add or improve this support page, including:

Nitin Yadav
Abhijeet Anand
Steven Shapiro
Timothy Jones
Shane Culpepper
Ron van Schyndel
Jessica Rivera Villicana
Damiano Spina
Marco Tamassia
Pyarelal Knowles
Ali Yavari
Binsheng Liu
other anonymous contributors

and a few others I cannot remember, sorry!

END - If you have useful information on using Linux @ RMIT please forward it to me and I can add it here for others. :-)

Previous
Next