Frequently Asked Questions

Click each question to expand the answer.

Open all questions | Close all questions

I'm an undergrad, how do I get a CS account?

First, you need to have a valid reason for needing an account. Valid reasons include: You are an undergrad CS major. If you satisfy this requirement, please fill out the account request form located on the left side of this page

Can I get an account for my spouse or child?

Unfortunately we no longer give accounts for this purpose. We found that trying to keep track and maintain these accounts became too difficult to do.

Where can I find this document?

The master copy of this document always resides at https://csguide.cs.princeton.edu/faq

Who maintains this document?

The Computer Science Department Technical Staff (hereafter known as 'csstaff') is responsible for maintaining this web page. You can find more information about us here.

Does the department have a web page with links to download software packages licensed for department use as well as other free software updates?

Do we have a copy of <insert Microsoft application/OS> I can use?

Do we have a copy of AntiVirus software I can use?

Yes we do.  Currently the University is using Crowdstrike for Windows and Mac. You can also download the software from the following links:

How to install Crowdstrike software on your computer on your Windows computer

How to install Crowdstrike on your Mac computer

Do we have a copy of <insert licensed software> I can use?

Unfortunately we don't have any copies of licensed available in the department. You can purchase software from OIT by using the following link:

Princeton Software Store

Does the department offer any software mirrors for free/open source software?

We mirror several different open source software distributions. You can find more information at https://csguide.cs.princeton.edu/software/mirrors.

How do I setup my CS Windows account or mount my home directory in Windows?

You can find more information about Windows accounts and Samba by reading here.

How do I find out what my quota/disk space usage is?

You can check your disk quota by logging in to https://csguide.cs.princeton.edu. Login to the site using CAS and you will see the CS Disk Quota box on the left side of the page.

Note that you also have a separate quota on the IMAP server. See the Email Quota page for details.

I'm over quota on my home directory, can I have my home directory quota increased?

Generally, no. However, if you require a large increase, the '/n/fs/scratch' partition or a separate project partition is probably your best route. Details on that can be found on our Disk Space Policy page. Forms for requesting both increased quota and project space can be found on the main CS Guide.

Can I NFS-mount my department home directory on my personal UNIX workstation?

Unfortunately, no. This would be an enormous security risk and is not allowed. If you really need to mount your department home directory and you are running Linux on your workstation, you may want to look at using smbfs. An example using mount to get to your home directory would be:

mount -t smbfs -o username=joefoo //fs/joefoo /mnt/joefoo

What happens to my account after graduation?

The transition policy for departing CS account holders is described here.

I don't know the password to the CS or CIT account for my course, what do I do?

Actually, we don't know the password either. These accounts are set up without passwords because we do not allow password sharing. Instead you should use the SSH Key Manager to setup public-key authentication in order to login to the account via ssh.

If you haven't been setup as a user of that account yet (perhaps it's the start of the semester), please follow the instructions on the Instructional Computing page.

I've just accidentally deleted files or directories in my home directory! Can you restore them?

Yes, in many cases we can (we perform regular backups), but if it's within the last few days, you can probably do it yourself via our snaphot feature. Check out this page for details. If your deleted file(s) cannot be located in snapshots, there's a form on the main CS Guide that you can use to request a restore.

How do I change my LDAP/Unix account password?

You can find information about changing your password here.

How do I change my Windows account password?

You can find information about changing your password here.

What machines are available for logging into from outside the department?

For general purpose computing, you should always use the DNS name 'portal.cs.princeton.edu'. For computationally intensive applications, please use the DNS name 'cycles.cs.princeton.edu'. The following table summarizes the machines:

Use DNS Name Alias For: Environment
General Purpose portal.cs.princeton.edu cycles.cs.princeton.edu Linux
Computationally Intensive, Non-interactive cycles.cs.princeton.edu

soak.cs.princeton.edu
wash.cs.princeton.edu
rinse.cs.princeton.edu
spin.cs.princeton.edu

Linux
 

Why doesn't rlogin, telnet, rexec, and rsh work to other sites in Princeton.EDU?

For security reasons we have blocked access to those services at other places in Princeton. Any site you are trying to reach at Princeton using those services almost certainly has an ssh server installed already. These services should never be used because they cause your password to travel over the network in the clear. Please use Secure Shell (ssh) instead.

How do I transfer files to and from the department?

You can use sftp, scp or rsync to transfer files to and from the department.  You can find more information on using these tools here.

How do I set up ssh so that I don't have to use a password?

This is the most complicated, yet most often-asked question we probably get concerning ssh. Here are the quick-and-dirty steps:

  1. Use ssh-keygen to set up your user public and private keys (you really really really should passphrase protect your keys).
  2. Start ssh-agent on your workstation.
  3. Use ssh-add to add your keys to ssh-agent.
  4. Make sure your public keys are in the right place on the remote system you're ssh-ing to.
  5. Make sure the remote system knows about your public keys.
  6. Make sure your private keys are on the local system you're ssh-ing from.

Now the more detailed explanation. This pertains to using the OpenSSH client to login to an OpenSSH server. If you are using SSH Communications software for either client or server the filenames will be different as will the format of the keys. Also, the sections talking about ssh-agent don't apply to Windows workstations because there is no ssh-agent application for Windows yet. Everything else will be essentially the same.

 

  1. Use ssh-keygen to set up your user public and private keys (you really really really should passphrase protect your keys).

    This part is easy. Just run the command with no switches and enter a passphrase when prompted. This should generate an RSA key-pair named 'id_rsa' (private key) and 'id_rsa.pub' (public key). Make sure these files are placed in the .ssh directory of your home directory with the private key having mode 0600.

  2. Start ssh-agent on your workstation.

    Now that the RSA key has been created we need to start up the agent that will hold your passphrase-protected key in memory for you. The reason for this is that normally if you passphrase-protect your keys you will have to enter that passphrase every time you try to login to a host with pure public-key authentication. What the ssh-agent does is allow you to add your keys to it (prompting for the passphrase once) and then holding those keys in memory. Then using environment variables the ssh client will know how to contact the agent and extract your keys when you try to login somewhere with pure public-key authentication. Since you were already prompted by the agent to enter your passphrase before you will no longer be prompted again by the client.

    Anyway, you probably want to start your ssh-agent at the beginning of an X session or the first time you login to your workstation. To start it simply type 'ssh-agent'. It should then print a couple of environment variables that you'll need to keep track of from this moment on. A common way to do this is to redirect the output of ssh-agent to a file where it is then read by each subsequent login to the workstation via .cshrc or .login. These variables are important because they tell your ssh client how to contact your ssh-agent.

  3. Use ssh-add to add your keys to ssh-agent.

    Now we need to add the keys to the agent. Provided you've added the variables to your environment as described in step 2, just run the following commands:

    ssh-add /u/username/.ssh/id_rsa

    This will give you a prompt to enter the passphrase you used to encrypt the key. Upon success, your key will be added to your agent. You can verify this by running the 'ssh-add -l' command.

  4. Make sure your public keys are in the right place on the remote system you're ssh-ing to.

    This means copying your public key to the .ssh directory of where you're ssh-ing to and naming it id_rsa.pub.

  5. Make sure the remote system knows about your public keys.

    This means making sure that on the remote system there are files called authorized_keys and authorized_keys2 in your .ssh directory. These files should contain the contents of your id_rsa.pub file, as well as any other public keys you wish to use.

  6. Make sure your private keys are on the local system you're ssh-ing from.

    This means making sure your private key is in your local .ssh directory and making sure it is named id_rsa. This is probably already done from step 1).

That should do it. Now just try to run the ssh command and you should automagically be logged in without a password. If you have any problems, it is usually very helpful to add the -v switch to ssh.

Other pages where this is pretty well-documented include this page from the Snail Book SSH FAQ. You can also look at our own humble page.

I have ssh and I'm trying to login to one of the portal machines from outside the department but it still isn't working, what else could be wrong?

If you have forgotten your password and made several attempts to login, or if you are on a shared NAT with someone else who may have done so (including the campus wireless network), your IP might be temporarily banned from login attempts. This ban should expire within an hour, and you can try again.

Why can't I ping or <insert some other network application> my personal workstation from outside the department?

By default we block all incoming network connections from outside the department into those network subnets where we place personal workstations.

Why can't I do an `nslookup` on my personal workstation's host name from outside the department (even though it works inside)?

On department network subnets where we place personal workstations we employ a technology known as "Network Address Translation" or NAT. Basically, any IP packets you send outside the department have their source IP address translated into the firewall's external IP address. As reply packets come back to the firewall from outside, a table is looked up that re-translates the destination IP address from the firewall's address to your workstation's address.

Because of this setup, we also employ a second technology known as "Split DNS". To be brief, the DNS zone 'cs.princeton.edu' contains different records for internal and external hosts. When querying the zone from inside the department you'll find it contains each and every host registered with us. But when querying the zone from outside the department you'll see it only contains those entries which are on subnets where NAT is not used. Hence your workstation's host name will not be there since it is being NAT'ed.

Why doesn't my <insert telephony application> work from my personal workstation?

This is an unfortunate side effect of NAT. Most if not all telephony apps need to access your workstation's IP address directly from outside the department. This will fail for one or both of the following reasons:

  • Your IP address appears as the firewall's IP address when going outside the department.
  • The firewall is blocking incoming network requests to your workstation.

Can I have a port opened up on the firewall to allow access to my workstation from outside the department?

In most cases, the answer to this question is "no." In a few cases, where there is a legitimate research or academic need, and no alternative solution exists, we will do our best to accomodate the request, but beware that the usual method for allowing such things is to move the target host outside the department firewall. This means that the host will be much more exposed to attack from the internet, and will also not have access to many of the services available inside the firewall.

I have a project I/we are working on, and I need resources (disk space, a website, a database, etc) for it. What do I need to do?

For CS course class projects (individual or group), you can request additional temporary resources in the form of disk space, web services, a mailing list and a database. These resources can be requested by using the forms found at the top left of the main CS Guide page.

Please note the following:

  • for these projects, resources need to be returned/freed up before the beginning of the next academic semester: we simply don't have the resources to continue hosting finished projects.
  • SSL is available for the web server, if you require it, but requires some effort to setup and maintain. Contact CS Staff for assistance.
  • if a few people will be collaborating, you will require a unix group. Typically, this is the same as the project name, and we will create the group for you when you list additional people on the project space request form.

For individual projects (especially for graduate students), resources must be freed up before you graduate, or if they are no longer needed.

Do you have an extra monitor (or other piece of equipment) that I can use?

Possibly. Send an email request to CS Staff. Requests are processed on a first-come first-serve basis. Note that available equipment is generally several years old and is provided on an AS-IS basis. Please also note that any equipment provided remains property of the University, is intended for use in the building, and must be returned when you leave or when you no longer need the equipment. You may not transfer them to another person without coordinating through CS Staff. We maintain a log of the items loaned out to individuals and check them in when they are returned. Old equipment that we send to surplus may eventually end up available for personal purchase. See the University Surplus Site for details on how and when such equipment may be available.

How do I register a new computer for use in the department?

Just look at the Host Registration page and form in the CS Guide. You can find more information about host registration here.

I still have questions, who do I talk to?

First make sure the question isn't answered in the CS Guide. If it's still not, then send email csstaff@cs.princeton.edu detailing your issue. If it's a complicated problem, in general we prefer you email us as opposed to talking to us in person because that way it will be recorded in our problem-tracking system and all the staff members will be aware of the issue.

Hint: For most oddball questions, csstaff will a) look at the man page; b) search on the web; c) search on web; or d) look at the manufacturer/software author's support web page for the answer. Since anyone can do these things, you may save both yourself and csstaff's time by trying one of these options first. (We may have some magical knowledge of how things work, but we had to find that knowledge somewhere in the first place. :) )

How can I publish personal documents on the Computer Science Web Site?

Please see this page: https://csguide.cs.princeton.edu/publishing/webpages

Once created, you can put any files and/or directory structure you'd like. If you don't want a directory listing when someone hits your web pages, make sure your top-level page is called "index.html" (or index.php if you're using PHP).

I'd really prefer these documents not go in my home directory. Is that possible?

Yes, if it's a research or department related page or pages. On the main page of the CS Guide, there's a section for making requests. Select the option for project web space. We offer virtual web servers, for which you must request project (disk) space first.

Where is the content (like course pages) for the main site?

Course pages are located in /n/fs/csweb. This includes course pages, and any content you may be able to edit that appears under http://www.cs.princeton.edu that isn't in a user account's public_html directory.

How do I secure access to some of my web pages?

Please see this page for information on how to do this.