skip navigation

This page looks better in modern browsers. Please upgrade.

Brown Home Brown Home Brown Home Brown CS

ssh.cs.brown.edu

ssh.cs.brown.edu is a machine that automatically forwards ssh connections to other machines. There are three modes of operation.
  1. Default operation:

    By default, ssh.cs.brown.edu will automatically forward you to a cslab machine, randomly chosen from a list of the least active machines. This list is updated every 3 minutes, so if you make a lot of calls to ssh.cs.brown.edu in a short time period, there is the possibility that you will be forwarded to the same machine more than once. Absolutely no configuration must be done for this mode; just ssh ssh.cs.brown.edu.

  2. Preferred operation:

    In the default operation, ssh.cs.brown.edu acts like a mini-load balancer. In the preferred operation, ssh.cs.brown.edu will act simply as an ssh gateway. You may use the preferred operation by installing a .sshhost file in your home directory. This .sshhost file is a list of machines from which you would like ssh.cs.brown.edu to choose to forward you. The file should be a list of machine names, each name on its own line. ssh.cs.brown.edu will choose from the list in order from top to bottom. Note: The names given must be the machines' full names (ie, cslab8d, not simply 8d). This method does not check loads. This mode is mostly useful for if you have a preferred set of machines on which to work. Instead of having to figure out which ones may be up, ssh.cs.brown.edu figures that all out for you; all you do, after setting up your .sshhost file, is ssh to ssh.cs.brown.edu, or 'ssh ssh' for short. If none of your preferred machines are up, ssh.cs.brown.edu will default back to the default mode.

  3. Explicit operation:

    ssh.cs.brown.edu can take an explicit machine to forward you to on the command line. To do so, you must have the first argument be in the form "host=<hostname>". For instance,

    ssh -t ssh.cs.brown.edu host=cslab8d
    Notice the use of -t. It is necessary to use -t because, having given ssh a "command" to run, it will not automatically allocate a tty. -t will do the allocation. This mode is the most experimental and may not be available to users of ssh clients other than OpenSSH.
ssh.cs.brown.edu is set up to automatically pipe X through the ssh connections, so you should not have to deal with your $DISPLAY variable if you are going to use X programs remotely.

You may use ssh.cs.brown.edu to run commands on idle machines like so:

ssh ssh your_command_goes_here
This will effectively send out your process to a relatively idle cslab machine (or, if you have a .sshhost file or explicitly give a machine name before the command, one of your choosing). The major ramification of this addition is that scping to the department may be done through ssh.cs.brown.edu. To move a file to the department, scp to ssh.cs.brown.edu just like you would any other machine. If you need to move something to a specific machine, list that machine in your .sshhost file.

Lastly, if you would like ssh.cs.brown.edu to not print messages to your console, simply create a file in your home directory named .sshhost_hush:

touch ~/.sshhost_hush
You can reactivate messages by removing the .sshhost_hush file.


Page Owner: Dorinda Moulton Last Modified: Wed Sep 24 00:54:34 2003