Skip to main content

This version of GitHub Enterprise was discontinued on 2023-03-15. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Adding a new SSH key to your GitHub account

To configure your account on your GitHub Enterprise Server instance to use your new (or existing) SSH key, you'll also need to add the key to your account.

About addition of SSH keys to your account

You can access and write data in repositories on your GitHub Enterprise Server instance using SSH (Secure Shell Protocol). When you connect via SSH, you authenticate using a private key file on your local machine. For more information, see "About SSH."

After you generate an SSH key pair, you must add the public key to your GitHub Enterprise Server instance to enable SSH access for your account.

Prerequisites

Before adding a new SSH key to your account on your GitHub Enterprise Server instance, complete the following steps.

  1. Check for existing SSH keys. For more information, see "Checking for existing SSH keys."
  2. Generate a new SSH key and add it to your machine's SSH agent. For more information, see "Generating a new SSH key and adding it to the ssh-agent."

Adding a new SSH key to your account

After adding a new SSH authentication key to your account on your GitHub Enterprise Server instance, you can reconfigure any local repositories to use SSH. For more information, see "Managing remote repositories."

  1. Copy the SSH public key to your clipboard.

    If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace.

    $ pbcopy < ~/.ssh/id_ed25519.pub
       # Copies the contents of the id_ed25519.pub file to your clipboard

    Tip: If pbcopy isn't working, you can locate the hidden .ssh folder, open the file in your favorite text editor, and copy it to your clipboard.

    $ clip < ~/.ssh/id_ed25519.pub
       # Copies the contents of the id_ed25519.pub file to your clipboard

    Tip: With Windows Subsystem for Linux (WSL), you can use clip.exe. Otherwise if clip isn't working, you can locate the hidden .ssh folder, open the file in your favorite text editor, and copy it to your clipboard.

    $ cat ~/.ssh/id_ed25519.pub
       # Then select and copy the contents of the id_ed25519.pub file
       # displayed in the terminal to your clipboard

    Tip: Alternatively, you can locate the hidden .ssh folder, open the file in your favorite text editor, and copy it to your clipboard.

  2. In the upper-right corner of any page, click your profile photo, then click Settings.

    Screenshot of GitHub's account menu showing options for users to view and edit their profile, content, and settings. The menu item "Settings" is outlined in dark orange.

  3. In the user settings sidebar, click SSH and GPG keys.

  4. Click New SSH key or Add SSH key.

  5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal laptop, you might call this key "Personal laptop".

  6. In the "Key" field, paste your public key.

  7. Click Add SSH key.

  8. If prompted, confirm access to your account on GitHub Enterprise Server. For more information, see "Sudo mode."

To learn more about GitHub CLI, see "About GitHub CLI."

Before you can use the GitHub CLI to add an SSH key to your account, you must authenticate to the GitHub CLI. For more information, see gh auth login in the GitHub CLI documentation.

To add an SSH authentication key to your GitHub account, use the ssh-key add subcommand, specifying your public key.

gh ssh-key add KEY-FILE

To include a title for the new key, use the -t or --title flag.

gh ssh-key add KEY-FILE --title "personal laptop"

If you generated your SSH key by following the instructions in "Generating a new SSH key and adding it to the ssh-agent", you can add the key to your account with this command.

gh ssh-key add ~/.ssh/id_ed25519.pub