id = "ssh-keygen" name = "ssh-keygen" description = "ssh-keygen generates, manages and converts SSH authentication keys." executables = ["ssh-keygen"] [commands] format = 1 label = "Generate SSH key" description = "Create a new key pair. Fingerprinting, certificates, KRLs, known_hosts editing and FIDO keys are outside this form." quality = "ai-draft" base = "fig:ssh-keygen" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/ssh-keygen.ts" license = "MIT" [[commands.field]] id = "type" label = "Key type" type = "string" option = ["-t"] suggestions = [{ value = "ed25519", label = "ed25519" }, { value = "rsa", label = "rsa" }, { value = "ecdsa", label = "ecdsa" }, { value = "ed25519-sk", label = "ed25519-sk" }, { value = "ecdsa-sk", label = "ecdsa-sk" }, { value = "dsa", label = "dsa" }] sources = ["fig"] [[commands.field]] id = "bits" label = "Key size in bits" description = "Mainly for RSA, for example 3072 or 4096." type = "integer" option = ["-b"] sources = ["fig"] [[commands.field]] id = "comment" label = "Comment" type = "string" option = ["-C"] sources = ["fig"] [[commands.field]] id = "file" label = "Output key file" description = "An existing file prompts before being overwritten." type = "path" option = ["-f"] path = { kind = "file", role = "output" } effect = "overwrite" sources = ["fig"] [[commands.field]] id = "rounds" label = "KDF rounds" type = "integer" option = ["-a"] sources = ["fig"] [[commands.field]] id = "quiet" label = "Quiet" type = "boolean" option = ["-q"] sources = ["fig"] [[commands.task]] id = "ed25519" label = "New ed25519 key" fields = ["type", "comment", "file"] required = ["type"] set = { type = ["ed25519"] } [[commands.task]] id = "rsa4096" label = "New RSA 4096 key" fields = ["type", "bits", "comment", "file"] required = ["type", "bits"] set = { type = ["rsa"], bits = [4096] } [[commands.group]] id = "basic" label = "Basic" fields = ["type", "bits", "comment", "file"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["rounds", "quiet"]