Docs > Command line
Reminder: this is in alpha.
Enjoy these sample commands in lieu of a formal doc.
keybase version # print the version number keybase help # get help keybase signup # if you've never used Keybase keybase login # if you already have an account keybase prove twitter # prove you own a twitter account keybase prove github # prove a github account keybase prove reddit # prove a reddit account keybase prove coinbase # prove a coinbase account keybase prove hackernews # prove an HN account keybase prove web you.com # prove a website # ...more proof types soon...
Pushing / revoking your key
keybase push # push your public key to Keybase keybase revoke # remove/replace your public key
Id'ing and tracking
keybase search chris # find users like "chris" keybase id chris # look "chris" up, verify identity keybase track chris # same as id, but track publicly keybase track chris --track-local # track, but not on server
keybase btc 1p90X3byTONYhortonETC # sign and set the bitcoin # address on your profile
keybase encrypt chris -m 'secret' # encrypt keybase encrypt chris -s -m 'secret' # also sign with -s keybase encrypt chris foo.txt # foo.txt -> foo.txt.asc keybase encrypt chris foo.txt -o bar.asc # foo.txt -> bar.asc echo 'secret' | keybase encrypt chris # stream
keybase decrypt foo.txt.asc # foo.txt.asc -> stdout keybase decrypt foo.txt.asc -o foo.txt # foo.txt.asc -> foo.txt cat foo.txt.asc | keybase decrypt # decrypt a stream
keybase sign -m 'Hello' # sign a message keybase sign --clearsign -m 'Hello' # sign, but don't encode contents keybase sign foo.txt --detach-sign # generate foo.txt.asc, just a signature keybase sign foo.txt # generate foo.txt.asc, containing signed foo.txt echo 'I rock.' | keybase sign # stream
keybase verify foo.txt.asc # verify a self-signed file keybase verify foo.txt.asc foo.txt # verify a file + detatched signature cat foo.txt.asc | keybase verify # stream a self-signed file
Directory signing and verifying
There is an entire doc on this, but simple examples:
keybase dir sign # generate SIGNED.md keybase dir verify # check SIGNED.md
Assertions! (Useful for scripts, cron jobs, etc.)
If you are not tracking someone, by default the above commands will check the target's identity, perform proof checks, and offer to track.
This kind of interactivity isn't always desired. In that case, if you are not tracking someone, you can make identity assertions.
# Here we encrypt a copy of a backup for # maria, even though we don't track her. It'll make # sure she's the right person, and write to stderr if not. cat some_backup.sql | keybase encrypt maria -o enc_backup.asc \ --assert 'github://maria_2354 && twitter://maria_booyeah && keybase://maria_h24000 && fingerprint://97016CB3'
You should assert everything you know about a person, so you should `keybase id` her first, before building your command. If any of your assertions are wrong, keybase will write an error to stderr and crap out.
Feel free to get creative with assertions; you can make conjunctions with
&& as above; disjunctions with
nested logic with parentheses.