Skip to content Skip to navigation

Working At Home

It's fairly easy to set up an environment at home that integrates well with Rutgers CS facilities.

This page will document two different ways you can work:

  • Login to one of our computers and work there
  • Work on your own computer but access files from one of our systems

These are intended for individuals. If you're setting up a cloud server, or a system with multiple users on it, please contact help@cs.rutgers.edu. We can help you set up to use our usernames and passwords, and to access our file systems.

Using a Window on a CS System

There are two basic approaches. If you want a GUI interface (technically, an X11 window environment)

  • X2Go. This is a tool that lets you open a window on one of our systems. It uses a specially optimized version of the X11 protocol, giving reasonable performance on most home connections. In addition to giving you a window on our system, it lets you access files on your home computer and print to your home printers from the job on our system.X2Go is documented in the X2Go instruction page.

If you prefer a command line environment, you can use ssh.

  • Linux and Mac come with ssh, so from a command line window do "ssh HOSTNAME" If your username is different at home and at Rutgers, do "ssh user@HOSTNAME" with your Rutgers username
  • For windows, mamy people use putty It has both a GUI and a command line version. From the command line use "putty user@HOSTNAME." The GUI should open to a screen that asks you for the hostname. It will prompt you for the username, though you can type user@host in the hostname field.
  • HOSTNAME. The hostname should be the name of the computer you want to use. It will normally end in cs.rutgers.edu

Accesing Files from CS Systems

If you want to work on your home machine but access files stored on our servers, you will want to use an sftp client. This is a common thing to do, so there are many different clients available, both GUI and command line. Depending upon the client you choose, you'll get a window like the Finder or Explorer, but looking at your files on a CS system; or you can mount your CS home directory so that it looks like a disk drive on your home system.

For more information, see Accessing Files Remotely

Setting up Kerberos on Mac or Linux

The reason you might want to use Kerberos at home is to let you ssh to our systems without typing a password. While the Mac comes with Kerberos you will want to install the Kerberos implementation from Macports. You'll also need their version of ssh.

  • Make sure your time is synchronized. Generally this is done with a program called chrony, though older installations will use ntpd. The system administation tool for most systems will let you set this up. If you time is off more than a minute or so, Kerberos won't work.
  • Make sure Kerberos is installed
    • Mac:
      • Install Apple's Xcode through the App store
      • sudo xcodebuild -license
      • xcode-select --install
      • Download and install macports. See https://www.macports.org/install.php
      • sudo port install kerberos5
      • make sure /opt/local/bin is before /usr/sbin in your path. The macports installation should edit your startup files to do this, but you'll need to start a new terminal window for that to take effect
    • Centos: yum install krb5-workstation krb5-pkinit
    • Fedora: dnf install krb5-workstation krb5-pkinit
    • SLES 12: zypper install krb5-client [not tested; may need krb5-plugin-preauth-otp krb5-plugin-preauth-pkinit]
    • Ubuntu: apt-get install krb5-user krb5-k5tls krb5-pkinit
  • Set up /etc/krb5.conf [Mac: /opt/local/etc/krb5.conf] See below for what goes in the file
  • Set up /etc/ca.crt
  • edit /etc/ssh/ssh_config. Make sure the following limes are present. If there are already non-comment lines defining GSSAPIAuthentication and   GSSAPIDelegateCredentials, and they say no, change the no to yes. If the lines don't exist, add them.

   GSSAPIAuthentication yes
   GSSAPIDelegateCredentials yes

Once this is set up you can use kerberos commands:
 
  • kinit netid
    • Sets up your Kerberos credentials. If your username at home is the same as your Rutgers netid, you can omit the netid
  • klist
    • Shows you your credentials. They will last for 24 hours. After that you need to do kinit again. Or you can do "kinit -R" before they expire to renew them for another day.
  • ssh hostname
    • should work without asking you for a password as long as the host is in the computer science department.
 

Here's what goes in /etc/krb5.conf.  On the Mac this goes in /opt/local/etc/krb5.conf

[libdefaults]

  default_realm = CS.RUTGERS.EDU

  noaddresses = true

  forwardable = true

  renew_lifetime = 365d

  default_ccache_name = /tmp/krb5cc_%{uid}

 

[realms]

  CS.RUTGERS.EDU = {

    kdc = https://services.cs.rutgers.edu/KdcProxy

    pkinit_anchors = FILE:/etc/kdc.crt

    http_anchors = FILE:/etc/ca.crt

  }

 

 

 

Kerberos on Windows 10

On Windows 10 I recommend installing the Ubuntu application and setting it up as for Linux. There is Kerberos for Windows, but it doesn't suppoort the proxy, so you can't use it at home. To set it up

  • Find powershell (e.g. type powershell into the Contana box), right click on it, and select "run as administrator".
  • In the powershell windows, type Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  • Reboot
  • Go to the Windows store and install Ubuntu. (Other distributions will probably work, but I've tried Ubuntu.)
  • Now follow the instructions above for Ubuntu.
  • You can open multiple Ubuntu windows. If you do kinit to get a ticket in one windows, it will apply to different windows as well.

Note to Mac Users


    The instructions above are specifically for home use, where your IP address probably isn't real, because you're behind an address translator run by your ISP or your home router.  If you know you have a real address, e.g. you're on campus, you can get a slight improvement in security by specifying "noaddress = false." However there appears to be a bug in the Mac code somewhere. ssh won't work unless you specify the actual KDCs. E.g.
      CS.RUTGERS.EDU = {
        kdc = krb1.cs.rutgers.edu:88
        kdc = krb2.cs.rutgers.edu:88
        kdc = krb4.cs.rutgers.edu:88
    https://services.cs.rutgers.edu/KdcProxy won't work, which is why this only works on campus. Nor can you omit the IP addresses, which you should be able to do. (The system will get them from DNS.) And even on campus, you'll need to notify help@cs.rutgers.edu so we can adjust our permissions to let your host talk to the KDC. These problems all go away with "noaddress = true." That's probably the only thing that can ever work at home anyway.