Securing Your GitHub Account with SSH Keys

30 minutes
  • 2 Learning Objectives

About this Hands-on Lab

Working with source control in your own public or private GitHub repository will be a common occurrence for most system administrators. Through the use of standard SSH tools, the student will learn how to generate a special SSH key that can be used to secure access to a private repository. At the end of this learning activity, the student will know how to generate, add, and use this SSH key to secure their access to private repositories.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Create the SSH Key to Use to Secure Access to GitHub

Creating a specific key to be used to authenticate the ‘cloud_user’ account on the provisioned system with your GitHub account can be done as follows:

ssh-keygen 

Now we need to view the contents of the file that was created:

cat .ssh/id_rsa.pub

Let’s copy it. Over in our GitHub account, if we get into our account’s Settings, there’s a menu option (on the left) for SSH and GPG keys. In there, we can click New SSH key. There’s a web form here. Let’s give our key a meaningful name (like lab server) in the Title spot, and paste our key’s contents into the Key spot.

Create a Git Clone

Now we can create a Git clone:

git clone [email protected]:linuxacademy/content-source-control-git.git

After we run that, we’ll get the usual The authenticity of host… message. We can just type yes here, and should see the Git repo get cloned locally.

Additional Resources

NOTE: If you don't have a GitHub account already, you will need to create one and be logged in to GitHub in another browser tab to complete this activity.

In your efforts to better support a development organization, you have begun experimenting with Git source control and its interactions with GitHub. In order to be able to provide secure access to any repositories that are in use, you will create a special SSH key (separate from any that may have been created for other local systems to authenticate through) to be able to make an exchange with GitHub, and identify a service account called 'cloud_user' with your own account.

You will need to use the OpenSSH Client's utilities to create this key. First, create a subdirectory in your account's home directory called 'githubkeys'. Using the appropriate tool, you will create a new key (the default encryption type and size will be acceptable according to your organization's security policy) in this new directory called 'github-service-key'. Once you have this key, find the public key file that matches then copy and paste that into the appropriate account profile information in GitHub. After giving the key a reference name, you should see it appear in the list of your authorized keys, that will confirm it is available for use when trying to securely connect to your account.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?