---
name: "lsh-keygen"
section: "1"
platform: "linux"
package: "lsh-utils"
version: "2.1-13+b1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/lsh-keygen"
---

# lsh-keygen(1)

Generates a keypair and write it on stdout.

## NAME

lsh-keygen - Generates a keypair and write it on stdout.

## SYNOPSIS

**lsh-keygen** \[*OPTION*...\]

## DESCRIPTION

**CAUTION! The information in this manpage may be invalid or outdated. For authorative** **information on lsh, please see it's Texinfo manual (see the** *SEE ALSO* **section).**

Generates a new private key for the desired algorithm  and security level and write it on stdout.

You will usually want to pipe the new key into a program like **lsh-writekey,** to split it into its private and public parts, and optionally encrypt the private information.

## OPTIONS

- **-a**, **--algorithm**=*Algorithm*

  DSA or RSA. Default is to generate RSA keys

- **-l**, **--nist-level**=*Security* level

  For DSA keys, this is the NIST security level: Level 0 uses 512-bit primes, level 8 uses 1024 bit primes, and the default is 8. For RSA keys, it's the bit length of the modulus, and the default is 2048 bits.

- **--server**

  Use the server's seed-file

- **--debug**

  Print huge amounts of debug information

- **--log-file**=*File* name

  Append messages to this file.

- **-q**, **--quiet**

  Suppress all warnings and diagnostic messages

- **--trace**

  Detailed trace

- **-v**, **--verbose**

  Verbose diagnostic messages

- \-?, **--help**

  Give this help list

- **--usage**

  Give a short usage message

- **-V**, **--version**

  Print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

## DIAGNOSTICS

See the  **--log-file** , **--verbose** , **--trace** and  **--debug** options.

## REPORTING BUGS

Report bugs to \<bug-lsh@gnu.org\>.

## ENVIRONMENT

**LSH\_YARROW\_SEED\_FILE** may be used to specify the random seed file.

## COPYING

The lsh suite of programs is distributed under the GNU General Public License; see the COPYING and AUTHORS files in the source distribution for details.

## AUTHOR

The lsh program suite is written mainly by Niels Möller \<nisse@lysator.liu.se\>.

This man-page was written for lsh 2.0 by Pontus Freyhult \<pont\_lsh@soua.net\>, it is based on a template written by J.H.M. Dassen (Ray) \<jdassen@wi.LeidenUniv.nl\>.

## SEE ALSO

[**DSA**(5)](/DSA/5.md), [**lsh**(1)](/lsh/1.md), [**lsh-authorize**(1)](/lsh-authorize/1.md), [**lsh-decode-key**(1)](/lsh-decode-key/1.md), [**lsh-decrypt-key**(1)](/lsh-decrypt-key/1.md), [**lsh-export-key**(1)](/lsh-export-key/1.md), [**lsh-make-seed**(1)](/lsh-make-seed/1.md), [**lsh-upgrade**(1)](/lsh-upgrade/1.md), [**lsh-upgrade-key**(1)](/lsh-upgrade-key/1.md), [**lsh-writekey**(1)](/lsh-writekey/1.md), [**lshd**(8)](/lshd/8.md), [**secsh**(5)](/secsh/5.md), [**SHA**(5)](/SHA/5.md), [**SPKI**(5)](/SPKI/5.md), [**ssh-conv**(1)](/ssh-conv/1.md)

The full documentation for **lsh** is maintained as a Texinfo manual.  If the **info** and **lsh** programs are properly installed at your site, the command

-

  **info lsh**

should give you access to the complete manual.
