Linux chkey command

Updated: 05/04/2019 by Computer Hope
chkey command

On SunOS, the chkey command changes a user's secure RPC key pair.


The chkey command changes a user's secure RPC public key and secret key pair. chkey prompts for the old secure-rpc password and verifies that it is correct by decrypting the secret key. If the user has not already used keylogin to decrypt and store the secret key with keyserv, chkey registers the secret key with the local keyserv daemon. If the secure-rpc password does not match the login password, chkey prompts for the login password. chkey then uses the login password to encrypt the user's secret Diffie-Hellman (192 bit) cryptographic key. chkey can also encrypt other Diffie-Hellman keys for authentication mechanisms configured using nisauthconf.

chkey ensures that the login password and the secure-rpc password (or passwords) are kept the same, thus enabling password shadowing.

The key pair can be stored in the /etc/publickey file, the NIS publickey map, or the NIS+ cred.org_dir table. If a new secret key is generated, it will be registered with the local keyserv daemon. However, only NIS+ can store Diffie-Hellman keys other than 192-bits.

Keys for specific mechanisms can be changed or reencrypted using the -m option followed by the authentication mechanism name. Multiple -m options can be used to change one or more keys. However, only mechanisms configured using nisauthconf can be changed with chkey.

If the source of the publickey is not specified with the -s option, chkey consults the publickey entry in the name service switch configuration file (nsswitch.conf). If the publickey entry specifies one and only one source, then chkey will change the key in the specified name service. However, if multiple name services are listed, chkey can not decide which source to update and displays an error message. The user should specify the source explicitly with the -s option.

Non-root users are not allowed to change their key pair in the files database.


chkey [-p] [-s nisplus | nis | files | ldap] [-m <mechanism>]



Re-encrypt the existing secret key with the user's login password.

-s nisplus

Update the NIS+ database.

-s nis

Update the NIS database.

-s ldap

Update the LDAP database.

-s files

Update the files database.

-m <mechanism>

Changes or re-encrypts the secret key for the specified mechanism.

keylogin — Decrypt a user's secret key on SunOS.