Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Generating a new SSH key and adding it to the ssh-agent

Generating a new ssh-key

Open Terminal. Paste the text below, substituting in your GitHub email address.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

This creates a new ssh key, using the provided email as a label

Generating public/private rsa key pair.

  1. When you're prompted to Enter a file in which to save the key press Enter to accept the default file location.

Enter the file in which to save the key (you can press ENTER for default path):

(/Users/you/.ssh/id_rsa): [Press enter]

At the prompt, type a secure passphrase.

Enter passphrase (empty for no passphrase): [Type a passphrase]

Enter same passphrase again: [Type passphrase again]

Adding your SSH key to the ssh-agent

Before adding a new SSH key to the ssh-agent, you should have checked for existing SSH keys and generated a new SSH key.

Ensure ssh-agent is enabled:

start the ssh-agent in the background

eval "$(ssh-agent -s)"

Agent pid 59566

Add your SSH key to the ssh-agent. If you used an existing SSH key rather than generating a new SSH key, you'll need to replace id_rsa in the command with the name of your existing private key file.

$ ssh-add ~/.ssh/id_rsa

@nikunjangc

This comment has been minimized.

Copy link

@nikunjangc nikunjangc commented Apr 2, 2018

why am I getting this error!!

nik-MacBook-Pro:mac281project nikunjan$ ssh-add -K ~/.ssh/nik: No such file or directory

@chksome

This comment has been minimized.

Copy link

@chksome chksome commented Apr 5, 2018

Ugh, asking nicely would be a good start. Adding more information, like what you named your key would also be helpful. I'm guessing you need to run ssh-add -k ~/.ssh/id_rsa instead of ~/.ssh/nik because, as the computer told you, that file doesn't exist.

@bashM0nk3y

This comment has been minimized.

Copy link

@bashM0nk3y bashM0nk3y commented May 25, 2018

Must be because you are using a macbook... Just kidding.. =)

Anyway.. im not sure if -K is even a valid option for ssh-add... you're probably wanting the ssh-add -k option (skips certificates)
After creating your keys you will have key-name and key-name.pub. By default they will be called id_rsa (private), and id_rsa.pub (public). Just make sure you are entering the correct key name and you should be good. Don't forget about tab completion in bash/zsh

Is that really your $user@$hostname ?

@JoaquimLey, thanks for the info!

@sjal

This comment has been minimized.

Copy link

@sjal sjal commented Oct 1, 2018

Anyway.. im not sure if -K is even a valid option for ssh-add...

-K adds passphrase to Macs' keychain

@HaldarMridul

This comment has been minimized.

Copy link

@HaldarMridul HaldarMridul commented Aug 5, 2019

Hey guys, I'm new to all this, I need help figuring out things.
I generated an ssh key and saved it with a filename "mygit" and it's saved in root.
Now, I want to add my key to ssh agent. I run the command as shown in the repo but I'm getting the error "No such file or directory."
How do I add my key to the agent?

EDIT:
Okay, I got it. I changed my directory in the command and it was added to the agent.
Thanks for reading.

@nikita-starostin

This comment has been minimized.

Copy link

@nikita-starostin nikita-starostin commented Jan 19, 2020

It looks like a magic for me.

PS ssh-add ~/.ssh/id_rsa
~/.ssh/id_rsa: No such file or directory
PS cd ~/.ssh
PS ssh-add id_rsa
Enter passphrase for id_rsa:
Identity added: id_rsa

Why this ssh-add ~/.ssh/id_rsa doesn't work?

@JoaquimLey

This comment has been minimized.

Copy link
Owner Author

@JoaquimLey JoaquimLey commented Jun 22, 2020

It says that because you don't have that file on that directory. Have you followed all the steps?

@thetnainghtun

This comment has been minimized.

Copy link

@thetnainghtun thetnainghtun commented Oct 15, 2020

why am I getting this error!!

nik-MacBook-Pro:mac281project nikunjan$ ssh-add -K ~/.ssh/nik: No such file or directory

you should replace (.ssh/nik) with your key file directory. in my case Documetns/git

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.