bos_addkey - Adds a new server encryption key to the KeyFile file


bos addkey -server <machine name> [-key <key>] -kvno <key version number> [-cell <cell name>] [-noauth] [-localauth] [-help]

bos addk -s <machine name> [-ke <key>] -kv <key version number> [-ce <cell name>] [-n] [-l] [-h]


The bos addkey command constructs a server encryption key from the text string provided, assigns it the key version number specified with the -kvno argument, and adds it to the /usr/afs/etc/KeyFile file on the machine specified with the -server argument.

Normally, asetkey add should be used instead of this command; see asetkey(8) for more details. The primary use of bos addkey is for cells that are still using the Authentication Server instead of a Kerberos v5 KDC. It may, however, also be useful in unusual circumstances where a key needs to be added based on a known password rather than via a Kerberos v5 keytab.

When using bos addkey with an AFS cell that uses the Authentication Server, be sure to use the kas setpassword or kas setkey command to add the same key to the afs entry in the Authentication Database.

Do not use the -key argument, which echoes the password string visibly on the screen. If the argument is omitted, the BOS Server prompts for the string and does not echo it visibly:

   Input key:
   Retype input key:

The BOS Server prohibits reuse of any key version number already listed in the /usr/afs/etc/KeyFile file. This ensures that users who still have tickets sealed with the current key are not prevented from communicating with a server process because the current key is overwritten with a new key. Use the bos listkeys command to display the key version numbers in the /usr/afs/etc/KeyFile file.


In the unusual case of using bos addkey to add a key with a known password matching a password used to generate Kerberos v5 keys, the key in the Kerberos v5 KDC database must have only the DES encryption type and must use afs3 salt, not the default Kerberos v5 salt. Otherwise, the key generated by bos addkey will not match the key generated by the Kerberos v5 KDC.


-server <machine name>

Indicates the server machine on which to change the /usr/afs/etc/KeyFile file. Identify the machine by IP address or its host name (either fully-qualified or abbreviated unambiguously). For details, see bos(8).

In cells that use the Update Server to distribute the contents of the /usr/afs/etc directory, it is conventional to specify only the system control machine as a value for the -server argument. Otherwise, repeat the command for each file server machine. For further discussion, see bos(8).

-key <key>

Specifies a character string just like a password; the BOS Server calls a DES conversion function to encode it into a form appropriate for use as an encryption key. Omit this argument to have the BOS Server prompt for the string instead.

-kvno <key version number>

Defines the new key's key version number. It must be an integer in the range from 0 (zero) through 255. For the sake of simplicity, use the number one higher than the current highest key version number; use the bos listkeys command to display key version numbers.

-cell <cell name>

Names the cell in which to run the command. Do not combine this argument with the -localauth flag. For more details, see bos(8).


Assigns the unprivileged identity anonymous to the issuer. Do not combine this flag with the -localauth flag. For more details, see bos(8).


Constructs a server ticket using a key from the local /usr/afs/etc/KeyFile file. The bos command interpreter presents the ticket to the BOS Server during mutual authentication. Do not combine this flag with the -cell or -noauth options. For more details, see bos(8).


Prints the online help for this command. All other valid options are ignored.


If the strings typed at the Input key and Retype input key prompts do not match, the following message appears, and the command exits without adding a new key:

   Input key mismatch


The following command adds a new server encryption key with key version number 14 to the KeyFile file kept on the machine (the system control machine). The issuer omits the -key argument, as recommended, and provides the password at the prompts.

   % bos addkey -server -kvno 14
   Input key:
   Retype input key:


The issuer must be listed in the /usr/afs/etc/UserList file on the machine named by the -server argument, or must be logged onto a server machine as the local superuser root if the -localauth flag is included.


KeyFile(5), UserList(5), asetkey(8), bos(8), bos_listkeys(8), bos_removekey(8)


IBM Corporation 2000. <> All Rights Reserved.

This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.