Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save henryvoorburg/d1b339647eaef75fe036124e92b8c5a7 to your computer and use it in GitHub Desktop.
Save henryvoorburg/d1b339647eaef75fe036124e92b8c5a7 to your computer and use it in GitHub Desktop.
Add multiple SSH keys to the authorized_keys file to enable SSH authentication when connecting to a server.

Step 1: Generate first ssh key Type the following command to generate your first public and private key on a local workstation. Next provide the required input or accept the defaults. Please do not change the filename and directory location.

workstation 1 $ ssh-keygen -t rsa

Finally, copy your public key to your remote server using scp

workstation 1 $ scp ~/.ssh/id_rsa.pub [email protected]:.ssh/authorized_keys

Step 2: Generate next/multiple ssh key

  1. Login to 2nd workstation
  2. Download original the authorized_keys file from remote server using scp:
workstation 2 $ scp [email protected]:.ssh/authorized_keys ~/.ssh
  1. Now create the new pub/private key:
workstation 2 $ ssh-keygen -t rsa
  1. Now you have new public key. APPEND this key to the downloaded authorized_keys file using cat command:
workstation 2 $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  1. Finally upload authorized_keys to remote server again:
workstation 2 $ scp ~/.ssh/authorized_keys [email protected]:.ssh/

You can repeat step 2 for each user or workstations for remote server.

Step 3: Test your setup Now try to login from Workstation 1, 2 and so on to remote server. You should not be asked for a password:

workstation 1 $ ssh [email protected]
workstation 2 $ ssh [email protected]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment