How To Add Multiple SSH Keys Ubuntu Mint Linux Debian Redhat

By default if you create a private key for SSH, it will create something like .ssh/id_rsa

Linux will always search for and offer this key when connecting to servers. 

If you put extra keys in your .ssh directory like, they will be ignored by default and NOT used or offered (you can verify this with ssh -v) and see it is not being offered.

Here is how you add the extra SSH keys so they are all offered:

#this gives us the PID of the SSH agent otherwise our shell won't know how to communicate with the agent which would cuase ssh-add to fail (this is usually only the case if you have a remote ssh session and are not physically on the actual host).

eval `ssh-agent -s`

The actual output of the above starts the ssh-agent and exports the SSH_AUTH_SOCK and SSH_AGENT_PID variables.

SSH_AUTH_SOCK=/tmp/ssh-adfasdf3Bq/agent.312027; export SSH_AUTH_SOCK;

#this adds our file (you should adjust to the actual path and name of your SSH key file that you wish to be offered when connecting to remote hosts)


After this you should be able to be able to connect via SSH/SCP using your newly added key and all keys should be offered.

How can you see which SSH keys are available and added?

ssh-add -l

root@e2ac5b0ec2d0:/# ssh-add -l  
The agent has no identities.

If you added your keys you should see something like this:

ssh-add -l
2048 SHA256:pj53UXwoF490CDaKqlrA9MYwpVYL3+ynzrV1Sk/aNyM root@e2ac5b0ec2d0 (RSA)

Error when running ssh-add -l

Could not open a connection to your authentication agent.

You need to run ssh-agent like this: eval `ssh-agent -s`

Again this happens when you are on a remote host and requires you to run ssh-agent like above.

ssh-agent does not work over remote ssh session

If you normally work from the GUI (eg. Mate Desktop, Gnome, KDE) your SSH_AUTH_SOCK are probably something like /run/user/5200/keyring/ssh

The SSH_AGENT_PID would be the PID of the correct agent.

This happens because the environment variable SSH_AUTH_SOCK and SSH_AGENT_PID is not set by default when you login remotely by ssh.

How do we fix it? Normally this will be enough to fix it (even without the SSH_AGENT_PID):

export SSH_AUTH_SOCK="/run/user/5200/keyring/ssh"

Change the 5200 to the UID of your user that normally authenticates with the keys that you want.

You could make the above automatic by adding the export command to ~/.bashrc


multiple, ssh, ubuntu, mint, linux, debian, redhat, default, id_rsa, connecting, servers, directory, id_rsa_realtechtalk, ignored, verify, pid, shell, communicate, cuase, eval, adds, adjust, hosts, newly,

Latest Articles

  • How To Upgrade Debian 8,9,10 to Debian 12 Bookworm
  • Linux dhcp dhclient Mint Redhat Ubuntu Debian How To Use Local Domain DNS Server Instead of ISPs
  • Docker dockerd swarm high CPU usage cause solution
  • Docker Minimum Requirements/How Efficient is Docker? How Much Memory Does Dockerd Use?
  • qemu-nbd: Failed to set NBD socket solution qemu-nbd: Disconnect client, due to: Failed to read request: Unexpected end-of-file before all bytes were read
  • apache2 httpd apache server will not start [pid 22449:tid 139972160445760] AH00052: child pid 23248 exit signal Aborted (6) solution Mint Debian Ubuntu Redhat
  • How to use the FTDI USB serial cable to RJ45 adapter to connect to the console on Cisco/Juniper Switch Router Firewall in Linux Ubuntu Debian Redhat
  • How To Setup Python3 in Ubuntu Docker Image for AI Deep Learning
  • How to Configure NVIDIA GPUs with Docker on Ubuntu: A Comprehensive Guide for AI Deep Learning CUDA Solution
  • Linux Ubuntu Mint how to check nameservers when /etc/resolv.conf disabled solution
  • Docker cannot work on other overlayfs filesystems such as ecryptfs won't start overlayfs: filesystem on '/home/docker/overlay2/check-overlayfs-support130645871/upper' not supported as upperdir
  • Linux How To Access Original Contents of Directory Mounted Debian Mint CentOS Redhat Solution
  • ecryptfs how to manually encrypt your existing home directory or other directory
  • How to Reset CIPC Cisco IP Communicator for CME CUCM CallManager
  • Internet Explorer Cannot Download File "Your security settings do not allow for this file to be downloaded." Security Settings Solution
  • Linux How To Upgrade To The Latest Kernel Debian Mint Ubuntu
  • Firefox how to restore and backup saved passwords and history which files/location
  • Linux How To echo as root solution to use tee permission denied solution Ubuntu Debian Mint Redhat CentOS
  • Linux how to keep command line bash process running if you are disconnected or need to logout of SSH remotely
  • Linux swapping too much? How to check the swappiness and stop swapping