2017-09-08 02:07:39 +00:00
|
|
|
---
|
2020-01-18 00:18:09 +00:00
|
|
|
layout: docs
|
|
|
|
page_title: operator generate-root - Command
|
2017-09-08 02:07:39 +00:00
|
|
|
description: |-
|
|
|
|
The "operator generate-root" command generates a new root token by combining a
|
|
|
|
quorum of share holders.
|
|
|
|
---
|
|
|
|
|
|
|
|
# operator generate-root
|
|
|
|
|
|
|
|
The `operator generate-root` command generates a new root token by combining a
|
2020-01-18 00:18:09 +00:00
|
|
|
quorum of share holders. With the `-dr-token` or `-recovery-token` options,
|
2019-10-29 20:42:47 +00:00
|
|
|
it can generate a DR operational token or a recovery token in the same way.
|
|
|
|
|
|
|
|
One of the following must be provided to start the root token generation:
|
2017-09-08 02:07:39 +00:00
|
|
|
|
|
|
|
- A base64-encoded one-time-password (OTP) provided via the `-otp` flag. Use the
|
|
|
|
`-generate-otp` flag to generate a usable value. The resulting token is XORed
|
|
|
|
with this value when it is returned. Use the `-decode` flag to output the
|
|
|
|
final value.
|
|
|
|
|
|
|
|
- A file containing a PGP key or a
|
2020-01-22 20:05:41 +00:00
|
|
|
[keybase](/docs/concepts/pgp-gpg-keybase) username in the `-pgp-key`
|
2017-09-08 02:07:39 +00:00
|
|
|
flag. The resulting token is encrypted with this public key.
|
|
|
|
|
|
|
|
An unseal key may be provided directly on the command line as an argument to the
|
|
|
|
command. If key is specified as "-", the command will read from stdin. If a TTY
|
|
|
|
is available, the command will prompt for text.
|
|
|
|
|
2020-01-22 20:05:41 +00:00
|
|
|
Please see the [generate root guide](/guides/operations/generate-root) for
|
2017-09-08 02:07:39 +00:00
|
|
|
step-by-step instructions.
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
Generate an OTP code for the final token:
|
|
|
|
|
2020-05-21 17:18:17 +00:00
|
|
|
```shell-session
|
2017-09-08 02:07:39 +00:00
|
|
|
$ vault operator generate-root -generate-otp
|
|
|
|
```
|
|
|
|
|
|
|
|
Start a root token generation:
|
|
|
|
|
2020-05-21 17:18:17 +00:00
|
|
|
```shell-session
|
2017-09-08 02:07:39 +00:00
|
|
|
$ vault operator generate-root -init -otp="..."
|
|
|
|
```
|
|
|
|
|
|
|
|
Enter an unseal key to progress root token generation:
|
|
|
|
|
2020-05-21 17:18:17 +00:00
|
|
|
```shell-session
|
2017-09-08 02:07:39 +00:00
|
|
|
$ vault operator generate-root -otp="..."
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
The following flags are available in addition to the [standard set of
|
2020-01-22 20:05:41 +00:00
|
|
|
flags](/docs/commands) included on all commands.
|
2017-09-08 02:07:39 +00:00
|
|
|
|
2018-02-12 23:12:16 +00:00
|
|
|
### Output Options
|
|
|
|
|
|
|
|
- `-format` `(string: "table")` - Print the output in the given format. Valid
|
|
|
|
formats are "table", "json", or "yaml". This can also be specified via the
|
|
|
|
`VAULT_FORMAT` environment variable.
|
|
|
|
|
|
|
|
### Command Options
|
|
|
|
|
2017-09-08 02:07:39 +00:00
|
|
|
- `-cancel` `(bool: false)` - Reset the root token generation progress. This
|
|
|
|
will discard any submitted unseal keys or configuration.
|
|
|
|
|
|
|
|
- `-decode` `(string: "")` - Decode and output the generated root token. This
|
|
|
|
option requires the `-otp` flag be set to the OTP used during initialization.
|
2021-10-20 16:29:17 +00:00
|
|
|
If value is "-" then read the encoded token from stdin.
|
2017-09-08 02:07:39 +00:00
|
|
|
|
|
|
|
- `-generate-otp` `(bool: false)` - Generate and print a high-entropy
|
|
|
|
one-time-password (OTP) suitable for use with the "-init" flag.
|
|
|
|
|
|
|
|
- `-init` `(bool: false)` - Start a root token generation. This can only be done
|
|
|
|
if there is not currently one in progress.
|
|
|
|
|
|
|
|
- `-nonce` `(string; "")`- Nonce value provided at initialization. The same
|
|
|
|
nonce value must be provided with each unseal key.
|
|
|
|
|
|
|
|
- `-otp` `(string: "")` - OTP code to use with `-decode` or `-init`.
|
|
|
|
|
|
|
|
- `-pgp-key` `(keybase or pgp)`- Path to a file on disk containing a binary or
|
2021-11-08 18:04:59 +00:00
|
|
|
base64-encoded public PGP key. This can also be specified as a Keybase
|
2018-08-07 17:34:35 +00:00
|
|
|
username using the format `keybase:<username>`. When supplied, the generated
|
2017-09-08 02:07:39 +00:00
|
|
|
root token will be encrypted and base64-encoded with the given public key.
|
|
|
|
|
|
|
|
- `-status` `(bool: false)` - Print the status of the current attempt without
|
|
|
|
providing an unseal key. The default is false.
|
2020-01-18 00:18:09 +00:00
|
|
|
|
2019-10-29 20:42:47 +00:00
|
|
|
- `-dr-token` `(bool: false)` - Generate DR operational token
|
|
|
|
|
|
|
|
- `-recovery-token` `(bool: false)` - Generate recovery operational token
|