How to create SSH key on Linux

SSH keys allow you to keep your remote server accounts secure while providing password-free access. It's easy to generate an SSH key on Linux.

What is SSH key?

SSH key is a cryptographically generated key that allows you to log in to remote machines. SSH keys are "key pairs" containing a public key and a private key. You can copy your public key to remote machines and they will use it to authenticate you. The private key, as its name suggests, is private and must be on your local machine.

Warning: Do not share your SSH private key with anyone!

At login time, the remote server will use SSH to compare your public key with your private key. If they match, you are allowed to access the system remotely. This key pair system allows you to set up your account easily while still ensuring security.

How to create remote keys

To generate an SSH key pair, simply use the "ssh-keygen" command on the Linux command line. It will prompt you to select a file location, then enter and confirm a passphrase if you choose to use one. Passphrase allows you to add an extra layer of security to your key.

Warning: If you use a passphrase, don't forget it! You will not be able to log in with that key if you forget it.

If you want to log in without a password, just leave the passphrase blank.

How to create SSH key on Linux Picture 1

 By default, ssh-keygen uses the Ed25519 algorithm. This is enough for most cases because it is very safe. You can specify the type of algorithm you want with the -t flag. You usually don't need to do this unless the server doesn't support whatever algorithm you used. You can read the ssh-keygen manual page to learn how to generate another key pair.

Enter your new SSH key into the remote machine

Now, you have created your key pair. You need to copy your key to the remote server. There are two ways to do this.

The first and easiest is to use the ssh-copy-id utility. To do so, simply call it with your remote server account username and address:

ssh-copy-id user@example.com

Enter your password and it will copy your private key.

How to create SSH key on Linux Picture 2

Now, you can log in to the remote server:

ssh user@example.com

If that doesn't work, you'll have to copy and paste your public key manually. Your public key will be a file with the extension ".pub" in the .ssh directory of your home directory. Open it and copy and paste its contents into the .ssh/authorized_keys file on the remote machine.

How to create SSH key on Linux Picture 3

 

Save the file and now you can log in to the server using SSH. Make sure that only you can write the file, otherwise you may get an error.

4 ★ | 2 Vote

May be interested

  • How to quickly create new blank text files on Windows, Mac and LinuxHow to quickly create new blank text files on Windows, Mac and Linux
    text file is useful for everything. recording a note, storing information, and journaling are just a few of the many things you can do with text files. today, we will show you how to create new blank text files in windows, mac and linux quickly. in windows, it is easy to locate new text files. but on mac and linux, this job requires some initial setup, then creating a new text file is also quick and easy.
  • How to Create ISO Files on LinuxHow to Create ISO Files on Linux
    today's tipsmake will show you how to turn multiple files into one iso file on a linux computer. you need to use the linux command line to do it.
  • 5 reasons why Linux distros create their own desktop environment5 reasons why Linux distros create their own desktop environment
    most of us don't think of the desktop as separate from the operating system. the desktop is what you see on the screen - as with windows or macos. on linux, desktop options are extremely diverse.
  • How to create CS: GO Server on Linux VPSHow to create CS: GO Server on Linux VPS
    the official steam server game for counter-strike: global offensive is suitable for most purposes. however, you cannot control them.
  • How to create and delete folders in Linux TerminalHow to create and delete folders in Linux Terminal
    folders are essential for your linux operating system because they contain files you may use often or that the system needs to function correctly.
  • How to create file swap in LinuxHow to create file swap in Linux
    swap in linux is specific areas on the drive, reserved for virtual memory. they are mainly used to improve computer performance when handling heavy tasks like video editing.
  • How to create a new systemd service on LinuxHow to create a new systemd service on Linux
    if you need to create a task or program that automatically starts executing every time you boot or reboot your system, you might consider creating a new service.
  • How to Create and Use ISO Files on LinuxHow to Create and Use ISO Files on Linux
    learn how to create, mount, or burn iso images using linux. most linux distributions come with software to create, mount, or burn iso images. using these steps, you will learn to do this, and maybe even understand how it works. create the...
  • How is Arch Linux different from other Linux versions?How is Arch Linux different from other Linux versions?
    arch linux is arguably the most misunderstood linux distribution. many people find arch difficult to install and maintain.
  • How to Build Your Own Linux DistributionHow to Build Your Own Linux Distribution
    this wikihow teaches you how to create a linux operating system. while creating a linux distribution from scratch requires advanced knowledge of how to code, a free linux distribution called slax will allow you to customize your linux...