I have a private key protected with a password to access a server via SSH.
I have 2 linux (ubuntu 10.04) machines and the behavior of ssh-add command is different in both of them.
In one machine, once I use "ssh-add .ssh/identity" and entered my password, the key was added permanently, i.e., every time I shutdown the computer and login again, the key is already added.
In the other one, I have to add the key every time I login.
As far as I remember, I did the same thing on both. The only difference is that the key was created on the one that is added permanently.
Does anyone know how to add it permanently to the other machine as well?
Password management With that, whenever you run ssh it will look for keys in Keychain Access. If it finds one, you will no longer be prompted for a password. Keys will also automatically be added to ssh-agent every time you restart your machine.
Click Load, navigate to your SSH folder, and click the private key. Make sure you're looking at All files if you don't see your private key. Enter your passphrase for the SSH key and click OK. Copy the public key in the first field.
Add your SSH private key to the ssh-agent. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.
A solution would be to force the key files to be kept permanently, by adding them in your ~/.ssh/config
file:
IdentityFile ~/.ssh/gitHubKey IdentityFile ~/.ssh/id_rsa_buhlServer
If you do not have a 'config' file in the ~/.ssh directory, then you should create one. It does not need root rights, so simply:
nano ~/.ssh/config
...and enter the lines above as per your requirements.
For this to work the file needs to have chmod 600. You can use the command chmod 600 ~/.ssh/config
.
If you want all users on the computer to use the key put these lines into /etc/ssh/ssh_config
and the key in a folder accessible to all.
Additionally if you want to set the key specific to one host, you can do the following in your ~/.ssh/config :
Host github.com User git IdentityFile ~/.ssh/githubKey
This has the advantage when you have many identities that a server doesn't reject you because you tried the wrong identities first. Only the specific identity will be tried.
I solved that problem on Mac OSX (10.10) by using -K option for ssh-add:
ssh-add -K ~/.ssh/your_private_key
For macOS 10.12 and later you need to additionally edit your ssh config as described here: https://github.com/jirsbek/SSH-keys-in-macOS-Sierra-keychain
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With