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

If you require further assistance on this topic, please don't hesitate to contact the Research Computing Team. To create a support ticket, kindly send an email to rtshelp@asu.edu. For quick inquiries, you're welcome to reach out via our #rc-support Slack Channel or attend our office hours for live assistance