Skip to content

Click on each book below to review & buy on Amazon.

As an Amazon Associate, I earn from qualifying purchases.

CompTIA Linux+ XK0-005 - 2.4 - SSH: Commands - ssh-keygen

Secure Shell (SSH) is a widely used cryptographic network protocol for secure remote login, secure file transfer, and secure command execution over an insecure network. The ssh-keygen command is a key utility in SSH that allows users to generate and manage SSH key pairs used for authentication purposes.

Purpose of the command

The ssh-keygen command serves multiple purposes related to SSH key management:

  • Key Generation: The command is used to generate new SSH key pairs, which consist of a public key and a corresponding private key. These key pairs are essential for establishing secure connections and authenticating users when connecting to remote systems.

  • Key Conversion: ssh-keygen can convert SSH key formats between different types, such as converting between OpenSSH and SSH-2 formats. This allows users to use their keys across different SSH implementations.

  • Key Management: The command provides various options to manage SSH keys. Users can change the passphrase for a private key, list the fingerprints of keys, regenerate the server host key, revoke trusted keys, and more.

  • Key Authentication: SSH key pairs generated by ssh-keygen are used for authentication purposes. The public key is placed on the remote server, while the corresponding private key is kept securely on the user's local machine. When attempting to connect to the server, the client uses its private key to prove its identity and establish a secure connection.

Key Command Options

The ssh-keygen command supports several options to customize key generation and management:

  • -t: Specifies the type of key to generate, such as RSA, DSA, or ECDSA.
  • -b: Sets the number of bits in the key. Higher bit lengths offer stronger security.
  • -C: Adds a comment to the key, typically used to provide additional information about the key's purpose or owner.
  • -f: Specifies the filename for the generated key files, allowing users to provide a custom name or location.
  • -N: Sets a new passphrase for the private key, providing an extra layer of security.
  • -p: Changes the passphrase of an existing private key.
  • -y: Outputs the public key portion of a specified private key file.

Example Command Usage

  • Generating an RSA Key Pair with Custom Bit Length:

    ssh-keygen -t rsa -b 4096

    In this example, the ssh-keygen command is used to generate an RSA key pair with a custom bit length of 4096 bits. The -t rsa option specifies the key type as RSA, and the -b 4096 option sets the bit length to 4096 bits. The command will prompt for the desired file name and passphrase for the private key. By default, the generated keys will be saved in the ~/.ssh directory with the filenames id_rsa for the private key and for the public key.

    This example allows you to generate a stronger RSA key pair with a larger bit length, providing enhanced security for your SSH connections. Remember to choose an appropriate bit length based on your security requirements and the capabilities of your system.

  • Changing Passphrase for a Private Key:

    ssh-keygen -p -f ~/.ssh/id_rsa

    In this example, the ssh-keygen command is used to change the passphrase for an existing private key. The -p option indicates that we want to change the passphrase, and the -f option specifies the path to the private key file. The command will prompt for the old passphrase and then ask for the new passphrase twice for confirmation.

These examples demonstrate two common use cases of the ssh-keygen command. Remember to adjust the options and file paths according to your specific needs and key setup.


The ssh-keygen command is a vital tool for generating, converting, and managing SSH key pairs. It enables secure authentication and secure connections between clients and servers in the SSH ecosystem. Understanding the command's options and capabilities is essential for Linux administrators and users who rely on SSH for secure remote access and file transfers.

Support DTV Linux

Click on each book below to review & buy on Amazon. As an Amazon Associate, I earn from qualifying purchases.

NordVPN ®: Elevate your online privacy and security. Grab our Special Offer to safeguard your data on public Wi-Fi and secure your devices. I may earn a commission on purchases made through this link.