SSH
Secure Shell
It is a protocol, similar to HTTPS, and it is a way for machines to communicate with one another.
Three uses cases are SSH to Github, remote computer and server.
The advantage of SSH is the use of encryption to ensure secure transfer of information between host and client. Host refers to the remote server you are trying to access and client is the the computer you are using to access the host
The foundation of SSH are
Diffie-Hellman Key Exchange - used only to share public key
Arrive at symmetric key and use this for communication because it is faster than asymmetric encryption
Hashing to make sure no message is tampered
Authentication using password or get authenticated using RSA which allows us to provide the identity of a person without a password.
SSH commands:
Open Gitbash and enter into shell
$ cd ~/.ssh
Create a new SSH key, using the provided email as a a label
$ ssh-keygen -t rsa -b 4096 -C "your_email@email.com"
You will be prompted to create a key and you may create different key for different platform. Passphrase is optional.
Enter file in which to save the key (/c/Users/Your_Name/.ssh/id_rsa):
/c/Users/Your_Name/.ssh/id_rsa_github
Start up the SSH-Agent and add RSA key to the SSH-Agent every time you start the terminal because it won't save them after you close the terminal
$ eval $(ssh-agent -s)
Add your SSH private key to the SSH-Agent
$ ssh-add ~/.ssh/id_rsa_github
To check and delete identities associated with the SSH-Agent
$ ssh-add -l => List all identity
$ ssh-add -D => Delete all identity
Add SSH key to the github account, under "Setting => SSH and GPG keys"
$ clip < ~/.ssh/id_rsa_github
Testing your SSH connection
$ ssh - T git@github.com
Last updated
Was this helpful?