/
GitHub SSH Connections

GitHub SSH Connections

Overview

How to setup SSH authentication from your Agave login to GitHub.

From Github About SSH

Using the SSH protocol, you can connect and authenticate to remote servers and services. With SSH keys, you can connect to GitHub without supplying your username and personal access token at each visit. You can also use an SSH key to sign commits.

The example below will use Sol as the supercomputer to connect to.

Create new SSH Key

Step 1: Connect to Super Computer

Log on to Sol

ssh asurite@sol.asu.edu

Step 2: Create new SSH Key

cd ~/.ssh ssh-keygen -t ed25519 -f ~/.ssh/github_ed25519 -C $USER@asu.edu -N ''

This generates a public and private cryptographic key. A public cryptographic key is analogous to an ideal physical lock and a private cryptographic key is analogous to a physical key: it is safe to distribute as many copies of the public key as you want so long as you are the only one with access to the private key. You’ll need to provide github with a copy of your public key, but first you’ll need to configure SSH on Sol to know about your private key when connecting to GitHub

Step 3: Modify SSH Configuration

CAREFULLY, modify your SSH configuration by running the following command (note line 5’s IdentityFile value must match the name of the file created in the last step, i.e. ~/.ssh/github_ed25519):

cat >> ~/.ssh/config << EOF Host github.com User git Hostname github.com IdentityFile ~/.ssh/github_ed25519 EOF

Add Key to GitHub

Step 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.

e.g. we would only copy line 2 in the following output, starting with ssh-ed25519 up to .edu:

Step 2: GitHub steps

On your computer log onto Github.com, in the upper right corner click your profile photo, then click Settings

In the user Settings sidebar, click SSH and GPG keys

Click New SSH Key

In the “Title” field, add a description label for the new key. For example, you might call this key “ASURITE on Sol”

Paste your key into the “Key” field, then click Add SSH key.

If prompted, confirm your GitHub password

After making this change you will need to use the SSH option when you clone a repository. If you have existing repositories were setup with HTTPS follow these instructions to Switch Remote URLS from HTTPS to SSH

Additional Help

Related content

Git Commits signed with GPG Key
Git Commits signed with GPG Key
More like this
Slurm - SBATCH Job Scripts
Slurm - SBATCH Job Scripts
Read with this
Connecting to Git with Gitfiend
Connecting to Git with Gitfiend
More like this
Why Isn't My Code Running Faster?
Why Isn't My Code Running Faster?
Read with this
VSCode
More like this
Connecting to the Supercomputers with SSH
Connecting to the Supercomputers with SSH
More like this