Configure SSH Key-Based Authentication on a Linux 🌱

Connecting from a Linux Host

  1. Log into the source Linux host
  2. Run the following command in a terminal window
    # generate a new ssh key pair
    ssh-keygen -t rsa
  3. Press enter to accept the default location
  4. Optionally, set a password for the key pair
    NOTE: If you don't provide a password, anyone with the key and access to the target host can connect using the key. Proceed with caution
  5. Continue with the following command
    # output the public key
    cat ~/.ssh/id_rsa.pub
  6. Copy the output ssh-rsa public key to the clipboard
  7. Log into the target Linux machine
  8. Run the following command in a terminal window
    # create .ssh directory
    mkdir ~/.ssh -p
    # edit the authorized_keys file
    nano ~/.ssh/authorized_keys
  9. Paste the copied public key to the bottom of the file
  10. Press CTRL+O, Enter, CTRL+X to write the changes
  11. Back on the source Linux device, connect to the Linux target using ssh (ie ssh username@hostname)
  12. Type yes and press Enter the first time connecting with a new public key to accept the connection

Connecting from a Windows Host

  1. Log into the Windows host
  2. Right click the Start menu > Run > Type cmd > Press Enter
  3. Run the following command in the command prompt
    # generate a new ssh key pair
    ssh-keygen -t rsa
  4. Press enter to accept the default location
  5. Optionally, set a password for the key pair
    NOTE: If you don't provide a password, anyone with the public key and access to the target host can connect using the key
  6. Continue with the following command
    # output the public key
    type %userprofile%\.ssh\id_rsa.pub
  7. Copy the output ssh-rsa public key to the clipboard
  8. Log into the target Linux machine
  9. Run the following command in a terminal window
    # create .ssh directory
    mkdir ~/.ssh -p
    # edit the authorized_keys file
    nano ~/.ssh/authorized_keys
  10. Paste the copied public key to the bottom of the file
  11. Press CTRL+O, Enter, CTRL+X to write the changes
  12. Back on the Windows device, connect to the Linux target using ssh (ie ssh username@hostname)
  13. Type yes and press Enter the first time connecting with a new public key to accept the connection