Mounting Course Accounts From home 
 Mounting filesystems via sshfs 
SSHFS is a powerful tool that allows you to mount remote drives so they appear to be a part of your file system.  This can be used to access your own personal account or a course account very easily from a home computer.  SSHFS is freely available, and is built on user-space filesystems.  It can be retrieved via MacPorts on a Mac machine, or by similar mechanisms on Linux distributions.  This script is designed to target MacOS (Leopard, in particular); in addition to mounting the remote account filesystems in a convenient location for the command-line, these mounts will also be visible directly from within the Computer link in the Sidebar (if this is not visible, select it in Finder->Preferences->Sidebar). Unfortunately, instructions for Windows users are not available at this time.
To use this facility, you should have your home computer's ssh key on the remote accounts (see 
CF.CourseAccountSshKeyAccess); for security purposes, you should password-protect this key.
The following scripts should go in the 
bin directory of your home computer, with constants and the connect function call updated as appropriate:
 connect 
#!/usr/bin/env bash
# The directory in which to mount remote filesystems on your local machine
readonly basedir="$HOME/student.cs"
# The options we'll be using to connect
readonly optstart='-oauto_cache,reconnect,volname='
# Fix these paths if they are not correct for your machine
readonly cmd_mkdir='/bin/mkdir'
readonly cmd_sshfs='/opt/local/bin/sshfs'
$(dirname $0)/disconnect
eval $(ssh-agent)
ssh-add
connect () {
   while [[ $# -gt 0 ]]; do
      typeset server=fe-solaris.student.cs.uwaterloo.ca
      echo "Creating connection to $1"
      "$cmd_mkdir" -p "$basedir/$1"
      "$cmd_sshfs" "$1"@"$server":/u/"$1" "$basedir"/"$1" "$optstart$1@student.cs"
      shift
   done
}
# Update the following list of accounts to connect to.
connect cs115 $(whoami)
This script first disconnects any lingering connections (see below), then launches a program to cache your ssh key locally in the script and connect to the list of accounts provided at the bottom.
 disconnect 
#!/usr/bin/env bash
readonly basedir="$HOME/student.cs"
unmountdir () {
   if [[ -d "$1" ]]; then
      pushd "$1" >/dev/null
      for dir in *; do
         if [[ -d "$dir" ]]; then
            echo "Unmounting $1/$dir..."
            umount "$1/$dir"
         fi
      done
      popd >/dev/null
   else
      echo "Directory $1 does not exist" >&2
   fi
}
unmountdir "$HOME/student.cs"
The setting for 
basedir in this script must be the same as in the 
connect script, and both scripts must be in the same directory for connect to be able to disconnect reliably.