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 id_rsa_realtechtalk.com, 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;
SSH_AGENT_PID=35028; export SSH_AGENT_PID;

#this adds our file id_rsa_realtechtalk.com (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)

ssh-add id_rsa_realtechtalk.com

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
 


Tags:

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

  • qemu: could not load PC BIOS 'bios-256k.bin' solution
  • Proxmox How To Custom Partition During Install
  • Hyper-V Linux VM Boots to Black Screen, Storage, NIC Not Found Issues
  • Ubuntu Mint How to Fix Missing/Broken /dev and /dev/pts which causes terminal to immediately close exit and not work
  • How high can a Xeon CPU get?
  • bash fix PATH environment variable "command not found" solution
  • Ubuntu Linux Mint Debian Redhat Youtube Cannot Play HD or 4K videos, dropped frames or high CPU usage with Nvidia or AMD Driver
  • hostapd example configuration for high speed AC on 5GHz using WPA2
  • hostapd how to enable and use WPS to connect wireless devices like printers
  • Dell Server Workstation iDRAC Dead after Firmware Update Solution R720, R320, R730
  • Cloned VM/Server/Computer in Linux won't boot and goes to initramfs busybox Solution
  • How To Add Windows 7 8 10 11 to GRUB Boot List Dual Booting
  • How to configure OpenDKIM on Linux with Postfix and setup bind zonefile
  • Debian Ubuntu 10/11/12 Linux how to get tftpd-hpa server setup tutorial
  • efibootmgr: option requires an argument -- 'd' efibootmgr version 15 grub-install.real: error: efibootmgr failed to register the boot entry: Operation not permitted.
  • Apache Error Won't start SSL Cert Issue Solution Unable to configure verify locations for client authentication SSL Library Error: 151441510 error:0906D066:PEM routines:PEM_read_bio:bad end line SSL Library Error: 185090057 error:0B084009:x509 certif
  • Linux Debian Mint Ubuntu Bridge br0 gets random IP
  • redis requirements
  • How to kill a docker swarm
  • docker swarm silly issues