Generating a new SSH key and adding it to the ssh-agent
mac
windows
linux
After you've checked for existing SSH keys, you can
generate a new SSH key to use for authentication, then add it to the
ssh-agent.
If you don't already have an SSH key, you mustgenerate a new SSH key. If you're unsure whether you already have an SSH key, check forexisting keys.
If you don't want to reenter your passphrase every time you use your SSH key, you canadd your key to the SSH agent, which manages your SSH keys and remembers your passphrase.
Generating a new SSH key
OpenTerminal.
Paste the text below, substituting in your GitHub email address.
ssh-keygen -t rsa -b 4096 -C "[email protected]"
This creates a new ssh key, using the provided email as a label.
Generating public/private rsa key pair.
When you're prompted to "Enter a file in which to save the key," press Enter. This accepts the default file location.
Enter a file in which to save the key (/Users/you/.ssh/id_rsa):[Press enter]
At the prompt, type a secure passphrase. For more information, see"Working with SSH key passphrases".
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 to manage your keys, you should havechecked for existing SSH keysandgenerated a new SSH key.When adding your SSH key to the agent, use the default macOSssh-addcommand, and not an application installed bymacports,homebrew, or some other external source.
Start the ssh-agent in the background.
eval "$(ssh-agent -s)"Agent pid 59566
If you're using macOS Sierra 10.12.2 or later, you will need to modify your~/.ssh/configfile to automatically load keys into the ssh-agent and store passphrases in your keychain.
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
Add your SSH private key to the ssh-agent and store your passphrase in the keychain. If you created your key with a different name, or if you are adding an existing key that has a different name, replaceid_rsain the command with the name of your private key file.
$ ssh-add -K ~/.ssh/id_rsa
Add the SSH key to your GitHub account.