The CSL passcard contains the root passwords for all CSL systems. The passcard is maintained in a git repository hosted on Nebula. The repository is maintained by Samuel Damashek and any questions, concerns or bug reports should be directed his way.
To use the passcard system, you must have the following:
- A GPG key
- Public key should be signed by Andrew, Samuel, or another sysadmin with Andrew and Samuel in their trustnet and also stored on a keyserver
- To use the wrapper script
Accessing the Passcard
The git repository is accessible over ssh with the passcard user. For the passcard user's Nebula password to access the repository, contact Samuel. To clone the repository, run the following command:
git clone git+ssh://email@example.com/home/passcard
Using the Passcard
The passcard git repository has a wrapper script (passcard.py) along with GPG encrypted passwords individually encrypted in the passwords folder. Since the passwords are individually encrypted, each password is encrypted with the keys of the people who should have access to it. For example, somebody can have access to Core0's password without having access to Antipodes' password. You can use gpg yourself and decrypt these passwords, or you can use the wrapper script which does it all for you.
For help with the wrapper script, run it without any arguments. Here are the commands you can use:
./passcard.py get antipodes will show you the decrypted password for antipodes and antipodes-ilo (to use most commands, you must have gpg installed with your private key imported).
./passcard.py dump will make a nice, two-column passcard to stdout of all the passwords you have access to.
./passcard.py addkey antipodes "Chris Reffett" will add Chris Reffett's public key to the antipodes passcard so he can then decrypt it.
./passcard.py add will give you an interface for adding a new passcard.
The passcard user does not have write permissions to the git repo; please contact Andrew Hamilton or Samuel to add a new password to the repository. If you find any bugs in the wrapper script, please contact Samuel.