SALT-KEY(1)
β¨ SALT-KEY π
okay bestie, gather round, because we're talking about salt-key β the manual page for it, specifically, from the Salt project. this is the little tool that does the whole "who's allowed in the group chat" dance for your Salt server keys. it's giving bouncer-at-the-club energy and honestly? iconic.
πΈ SYNOPSIS
salt-key [ options ]
that's it. that's the whole vibe. options go in, keys get managed. π
π DESCRIPTION
salt-key does the simple management of Salt server public keys used for authentication. basically it's the key-handling bestie of your Salt setup. π
so here's the tea: on the initial connection, a Salt minion sends its public key over to the Salt master. that key must be accepted using the salt-key command on the Salt master. no accept, no talking. periodt.
Salt minion keys can be in one of these states, and yes you need to know all of them:
- unaccepted β the key is waiting to be accepted. it's sitting there like "hello?? notice me π₯Ί"
- accepted β the key was accepted and the minion can communicate with the Salt master. slay, you're in the group chat. π
- rejected β the key was rejected using the
salt-keycommand. in this state the minion does not receive any communication from the Salt master. blocked. π - denied β the key was rejected automatically by the Salt master. this happens when a minion has a duplicate ID, or when a minion was rebuilt or had new keys generated and the previous key was not deleted from the Salt master. in this state the minion does not receive any communication from the Salt master. auto-blocked, no cap. π«
and to change the state of a minion key? use -d to delete the key and then accept or reject the key. you can't just flip a switch, bestie, you gotta delete first. π
β¨ OPTIONS β¨
--versionβ print the version of Salt that is running. simple. cute. π--versions-reportβ show the program's dependencies and version number, then dip (exit). π¦-h,--helpβ show the help message and exit. the classic. π-c CONFIG_DIR,--config-dir=CONFIG_dirβ the location of the Salt configuration directory. this directory contains the configuration files for Salt master and minions. the default location on most systems is/etc/salt. π-u USER,--user=USERβ specify the user to runsalt-keyas. π--hard-crashβ raise any original exception rather than exiting gracefully. default isFalse. so like, it's gonna be loud about it. π-q,--quietβ suppress output. shhh. π€«-y,--yesβ answer 'Yes' to all questions presented, defaults toFalse. consent pre-given, let's gooo. β--rotate-aes-key=ROTATE_AES_KEYβ setting this toFalseprevents the master from refreshing the key session when keys are deleted or rejected. this lowers the security of the key deletion/rejection operation. default isTrue. so like, please leave it alone unless you know what you're doing. π
π Logging Options
these logging options override any settings defined in the configuration files. yes, they beat the config files. main character energy. β¨
--log-file=LOG_FILEβ log file path. default:/var/log/salt/minion.--log-file-level=LOG_LEVEL_LOGFILEβ logfile logging log level. one ofall,garbage,trace,debug,info,warning,error,quiet. default:warning.
π Output Options
--outβ pass in an alternative outputter to display the return of data. this outputter can be any of the available outputters:
highstate, json, key, overstatestage, pprint, raw, txt, yaml,
and many others.
some outputters are formatted only for data returned from specific functions. if an outputter is used that does not support the data passed into it, then Salt will fall back on the pprint outputter and display the return data using the Python pprint standard library module. so worst case you get pprint, no biggie. π
--out-indent OUTPUT_INDENT,--output-indent OUTPUT_INDENTβ print the output indented by the provided value in spaces. negative values disable indentation. only applicable in outputters that support indentation. πͺ--out-file=OUTPUT_FILE,--output-file=OUTPUT_FILEβ write the output to the specified file. π--out-file-append,--output-file-appendβ append the output to the specified file. (append! not overwrite! different vibe!) βοΈ--no-colorβ disable all colored output. π«π--force-colorβ force colored output. πβ¨
NOTE: when using colored output the color codes are as follows: - green denotes success - red denotes failure - blue denotes changes and success - yellow denotes an expected future change in configuration
--state-output=STATE_OUTPUT,--state_output=STATE_OUTPUTβ override the configuredstate_outputvalue for minion output. one of'full','terse','mixed','changes'or'filter'. default:'none'.--state-verbose=STATE_VERBOSE,--state_verbose=STATE_VERBOSEβ override the configuredstate_verbosevalue for minion output. set toTrueorFalse. default:none.
π― Actions
this is where the real work happens, bestie. buckle up. π
-l ARG,--list=ARGβ list the public keys. the argspre,un, andunacceptedwill list unaccepted/unsigned keys.accoracceptedwill list accepted/signed keys.rejorrejectedwill list rejected keys. finally,allwill list all keys. pick your fighter. π-L,--list-allβ list all public keys. (Deprecated: use--list all) β it's giving legacy, use the other one. π΅-a ACCEPT,--accept=ACCEPTβ accept the specified public key (use--include-allto match rejected keys in addition to pending keys). globs are supported. π«Ά-A,--accept-allβ accepts all pending keys. all of them. every single one. π-r REJECT,--reject=REJECTβ reject the specified public key (use--include-allto match accepted keys in addition to pending keys). globs are supported. β-R,--reject-allβ rejects all pending keys. π€--include-allβ include non-pending keys when accepting/rejecting. π-p PRINT,--print=PRINTβ print the specified public key. π¨οΈ-P,--print-allβ print all public keys. π¨οΈπ¨οΈ-d DELETE,--delete=DELETEβ delete the specified key. globs are supported. ποΈ-D,--delete-allβ delete all keys. (be careful bestie, this one goes hard) π-f FINGER,--finger=FINGERβ print the specified key's fingerprint. π«-F,--finger-allβ print all keys' fingerprints. π«π«
π Key Generation Options
--gen-keys=GEN_KEYSβ set a name to generate a keypair for use with salt. π±--gen-keys-dir=GEN_KEYS_DIRβ set the directory to save the generated keypair. only works with the'gen_keys_dir'option; default is the current directory. π--keysize=KEYSIZEβ set the keysize for the generated key, only works with the'--gen-keys'option. the key size must be 2048 or higher, otherwise it will be rounded up to2048. the default is2048. no tiny keys allowed. π--gen-signatureβ create a signature file of the master's public-key namedmaster_pubkey_signature. the signature can be sent to a minion in the master's auth-reply and enables the minion to verify the master's public-key cryptographically. this requires a new signing-key-pair which can be auto-created with the--auto-createparameter. βοΈπ--priv=PRIVβ the private-key file to create a signature with. π--signature-path=SIGNATURE_PATHβ the path where the signature file should be written. π--pub=PUBβ the public-key file to create a signature for. π--auto-createβ auto-create a signing key-pair if it does not yet exist. the lazy-girl way and honestly? valid. β¨
π SEE ALSO
salt(7) salt-master(1) salt-minion(1)
the whole friend group, go read them too. π«Ά
ποΈ AUTHOR
Thomas S. Hatch <thatch45@gmail.com> and many others, please see the Authors file. legends, all of them. π
Β©οΈ COPYRIGHT
2025
and that's a wrap, bestie!! this page came from Salt version 3007.8 and was generated on September 18, 2025 at 06:58:52 UTC. go accept some keys, reject some weirdos, and keep your master secure. mwah. ππβ¨
π¦ where this page comes from
- fedora 44: salt-master 3007.8-4.fc44 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms