Dsh
Introduction
(from the dsh homepage): dsh is an implementation of a wrapper for executing multiple remote shell (rsh/remsh/ssh) commands. rsh/remsh/ssh are wrappers for executing shell (ksh/bash/zsh/tcsh/sh .. etc... ) on remote hosts.
The community testing group is experimenting with using dsh to:
- manage large testbeds with many XOs together in 1 room (100 XOs in an office or a school, etc.)
- create impromptu distributed large testbeds from multiple small XO pools
- use an XS to monitor the XOs connected to it
How to use for XO testing
Note: The instructions below will use the term supervisor to refer to the computer you are running the commands from (and on which dsh is installed), and the term XO to refer generically to any XOs in the testbed you are remotely managing. Unless otherwise stated, all instructions are intended to be executed by/on the supervisor machine. You must have terminal access to the supervisor machine. These instructions have only been tested with Linux (Debian/Ubuntu).
- Follow the instructions on the dsh homepage to install dsh.
- Generate an SSH keypair. Instructions on how to do this can be found here (Linux, concise), here (Linux, detailed), and here (Windows). You should end up with these two files in the .ssh folder in your home directory: id_rsa and id_rsa.pub.
- For each XO in your testbed (follow these instructions on your XOs):
- Connect to the network.
- Copy the id_rsa.pub file you just generated into a new line on your supervisor machine into the
/home/olpc/.ssh/authorized_keys
file of each XO (use a thumbdrive, or upload to the web and use wget). (The/home/olpc/.ssh/authorized_keys
file will not exist on most XOs; you may have to create it.) - Run the
ifconfig
command (or use the Analyze Activity) to get the IP address of your XO. - Add this IP address to a new line in the
/etc/dsh/machines.list
file on your supervisor machine, with the textolpc@
before it (you may need root on the supervisor machine to edit this file).
- You should now have an
/etc/dsh/machines.list
file on your supervisor machine that looks something like this:
olpc@18.85.49.113
olpc@18.85.49.114
olpc@18.85.49.115
Help wanted
- It would be great if someone could test/develop/write instructions on how to use dsh with supervisor machines running Mac OS X and/or Windows.