bitc [-v|--version] [-h|--help] <command> [args]
The BITC Configurator is a command line tool used to manage a small fleet of Linux computers for BITC. This tool is designed to work with an intranet in which a computer running Ubuntu Server 13.10 is the DHCP host (and functions as a modem without Internet access) and several clients running Ubuntu Desktop 13.10.
The computers will be completely isolated from the Internet so various restrictions on the school network cannot interfere. The scripts expect the clients to be running a fresh install of Ubuntu Desktop 13.10 and the server to be running Ubuntu Server 13.10.
Warning: this script will render all computers useless outside of the intranet. It is intended to be used on computers that are freshly formatted with Ubuntu and will be reformatted with another OS afterwards. The scripts do not affect the hardware, but the software is configured to where it would be a pain to reverse.
All clients can SSH into the server as a sudoer with a username and password. The server is the only computer with password auth enabled; all others require a key so clients cannot log in to other clients. The server stores the universal key, and makes it available at
/api/1/globalKey. (The endpoint is only accessible by computers registered as admins.) All clients have the public key in their
~/.ssh/authorized_keys, and it is available at
The global key is generated by the server during
bitc setup, and when the clients are set up they pull the necessary files from the server and put them in the correct location.
Each client has the following options set:
The setup tool installs and configures the following packages with a combination of apt and other scripts:
bitc setup: run the initial setup on the system. This is an interactive script.
--server: set the machine up as the server
-y|--yes: skip all prompts and answer yes or the default. This requires
--ipto be present without
--id <computer-id>: automatically set the computer ID to the specified value.
--ip <computer-ip>: automatically set the computer IP to the specified value. This must be in the 10.0.0.[5-150] range.
-v|--verbose: show all command output
bitc login <computer-id>: SSH into the specified computer. Note: this requires you to have the universal SSH key (i.e. be registered as an admin).
bitc server: run the admin dashboard webserver on the server machine.
-p|--port: specify the port to listen on
--user|--username: specify the basic auth username
--pass|--password: specify the basic auth password