Unrivaled Creations Stories

Internet Website Design and Bespoke Software Application Development with PHP and the Laravel Stack.

5-Minute Guide to SSH

1 year ago · 2 MIN READ

5-Minute Setup Guide for SSH

SSH stands for Secure Shell — “a cryptographic network protocol for operating network services securely over an unsecured network.”1

SSH provides a secure channel over an unsecured network in a client-server architecture, connecting an SSH client application with an SSH server.2

Uses

SSH secures user name and passwords that pass through the unsecure, public Internet. It also automates the authentication process so that user name and password credentials are not even needed when making connections.

If you are not a software developer, SSH is probably not very useful to you.

If you are a software developer, SSH access to your resources is invaluable. Here is how to set your computer up to use SSH to access resources.

Setup SSH with GitHub

Using SSH to access your GitHub resources, especially from the command line, is invaluable to software developers because it secures and simplifies access. It is also a perfect way to illustrate the process of setting up SSH on your computer for use with other network services.

Windows users: Install GitHub Desktop for Windows or the Git for Windows Bash shell to get SSH and the SSH Agent up and running and to perform the command line tasks outlined below.

1. Create an SSH key.

See if your SSH key exists:

ls -al ~/.ssh

Create a new SSH key (if you don’t have one, or want to use a different key for a specific mission):

ssh-keygen -t rsa -b 4096 -C "email@example.com"

2. Launch the SSH Agent.

Make sure the ssh-agent is running: eval "$(ssh-agent -s)"

See if your SSH key is registered with the agent:

ssh-add -l

Add your SSH key if it is not:

ssh-add ~/.ssh/id_rsa

Remove keys that aren't needed or used:

ssh-add -d ~/.ssh/id_notused_rsa

3. Test a GitHub connection.

Test the GitHub connection:

ssh -T git@github.com

If it fails, ask for more details:

ssh -vT git@github.com

How it Works

Using Git as an example, the SSH Agent will provide Git with your GitHub credentials silently and in the background and let you perform Git operations, like cloning repositories, pushing code to your GitHub account and other similar tasks. No more user name and password prompts!

Other applications work in a similar way: They use SSH keys to secure your connections and to verify your identity with the remote service. This can be used to secure logins and file transfers with FTP programs and to lock down your connections to remotely accessed command line servers.

If these programs do not automatically seek the proper SSH keys from the SSH Agent, you can usually configure your application to use any particular SSH key file. Sometimes, you have to set up the service on the remote end to accept connections with that key file; they usually have a way for you to choose the key file of choice and to upload it. Once you have an SSH key set up at each ends, the connections will work.

Resources

GitHub Desktop for Windows

Git for Windows Bash shell

https://docs.docker.com/docker-cloud/cloud-swarm/ssh-key-setup/

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

Citations

1Network Working Group of the IETF, January 2006, RFC 4251, The Secure Shell (SSH) Protocol Architecture

2https://en.wikipedia.org/wiki/Secure_Shell

···

Michael Hall

Hi! I am a digital product designer and website/web application developer always seeking a better version of myself. Follow my journey as I share my story (and expertise) through the mutable, ever-changing, ever-growing world of design, web development and technology.
comments powered by Disqus


Copyright © 2017 by Michael Hall. All rights reserved. · Sign In