As daveh's answer points out, that could be as simple as just issuing
However, chances are that your PC is not accessible directly from the internet, i.e. it sits behind a router of some sort.
One option is to tell the router to let traffic to your PC pass through. How you do this depends on the router. This options only works if you have administrative access to the router, and that there are no other routers involved.
Another option is to create a reverse SSH tunnel, i.e. from your PC, you log into one (or both) of your university machines, creating at the same time a tunnel from the university machines to the SSH port of your PC. You leave that connection on when you are at university, which allows you to log back into your PC using the tunnel that was created by the SSH session.
This process has been described by http://www.vdomck.org/2005/11/reversing-ssh-connection.html; sorry for the link, but I don't want to copy all the information from there to here.
In principle, the command you issue from your PC is (assuming you want to connect from me@machine_b.cs.x.ca)
ssh -f -N -R 10000:localhost:22 me@machine_b.cs.x.ca
Then, when at university, you can connect to your home PC with the following command:
ssh -p 10000 nawshad@localhost
You can change the
10000 in both commands to a different value; just make sure that it is larger than 1024.
Note: while this tunnel is alive, everyone with access to
machine_b.cs.x.ca can try to log into your system; make sure that you have good passwords.
To shut down the tunnel, just kill the corresponding ssh process, e.g. with
pkill -f 'ssh -f -N -R 10000:localhost:22 me@machine_b.cs.x.ca'