Ssh-keygen (command)

From wikieduonline
Jump to navigation Jump to search

ssh-keygen[1] is an OpenSSH software command used to generate, manage, and convert authentication keys. It support at least four different key types RSA, DSA, ECDSA and ed25519.

Commands

Generate a keypar:

  • ssh-keygen -t ed25519 (There is no need to set the key size, as all Ed25519 keys are 256 bits) other options: [-t dsa | ecdsa | ed25519 | rsa]
Two files will be generated, one your private key and a second file containing second key (.pub extension)
  • ssh-keygen -t ed25519 -f your_new_ed25519_key
  • ssh-keygen -t rsa -f your_new_rsa_key
 ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk
 Generating public/private ecdsa-sk key pair.


  • Convert:
ssh-keygen -e -m PEM -f private_key_in_ed25519_format
do_convert_to_pem: unsupported key type ED25519
  • ssh-keygen -l -f ~/.ssh/ssh_host_XXXXkey.pub
 -l      Show fingerprint of specified public key file.
.ssh_host_XXXXkey.pub is not a public key file.

Legacy format: [2]

  • ssh-keygen -l -E md5 -f ~/.ssh/ssh_host_XXXXkey.pub

See also: puttygen -O fingerprint

  • ssh-keygen -vF host (-v flag added in OpenSSH 8.1[3])

Activities

ssh-keygen -t ed25519
  • Solve" "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" warning:
ssh-keygen -R SERVER_NAME -R Removes all keys belonging to hostname from a known_hosts file
ssh -oStrictHostKeyChecking=no SERVER_NAME Temporarily turning off host key checking

Both solutions have security implications.

  • Understand different key types: dsa, ecdsa, ed25519 and rsa
  • Generate public key from private key:
ssh-keygen -y -f ~/.ssh/id_rsa > ~./.ssh/id_rsa.pub
  • Generate a key par with old PEM format using:
ssh-keygen -m PEM
  • Changing the private key's passphrase without changing the key[4]

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

-p change the passphrase of a private key file

Related commands

See also

Advertising: