How to generate a public/private key (UNIX)

29,705

Solution 1

ssh-kegen(1)

You need the host key so you know you are connecting to the right server and not a fake one.

Solution 2

# private key
openssl genrsa -out privkey.pem 2048

# public key
openssl rsa -in privkey.pem -pubout -out pubkey.pem

For more information:
http://www.openssl.org/docs/apps/rsa.html
http://www.openssl.org/docs/HOWTO/keys.txt

Solution 3

It differs from one distribution to another. On Ubuntu use this command:

ssh-keygen

It will generate two keys, one public (the one you will share to the server) and the other is private and you shall not share with anyone. Once the public key is copied in the ~/.ssh/authorized_keys in the server, you can login without being prompt for password.

Solution 4

Public/private keys are like locks and keys: the server sends you a lock, but keeps the key, and then you lock your messages to the server. You need to send the server a lock as well so you can retrieve that data.

Wikipedia has a great example of this.

Solution 5

Anyway to generate keys you should use ssh-keygen. You need private and public keys to use SSL, an encryption system based on asymmetric keys.

Share:
29,705

Related videos on Youtube

Admin
Author by

Admin

Updated on September 17, 2022

Comments

  • Admin
    Admin over 1 year

    Can some one please tell me, for using SSH, why does a host also need to have a public and private key? And how can I generate a public/private key pair for myself?