Secure your github access with SSH

Generating SSH keys

Step 1 – Check for existing SSH keys.

ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist
Check the directory listing to see if you already have a public SSH key. By default, the filenames of the public keys are one of the following:

id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub

If you see an existing public and private key pair listed (for example id_rsa.pub and id_rsa) that you would like to use to connect to GitHub, you can skip Step 2 and go straight to Step 3.

Step 2 – Generate a new ssh key

ssh-keygen -t rsa -b 4096 -C "email@email.com"
it will ask you

Generating public/private rsa key pair.
Enter file in which to save the key (/home/jjz109/.ssh/id_rsa):

keep default and just press ENTER

you ‘ll have

Created directory '/xxxxx/.ssh'.
Enter passphrase (empty for no passphrase):

Choose a secure phrase

then

Your identification has been saved in /xxxxxx/.ssh/id_rsa.
Your public key has been saved in /xxxxx/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:.............xx:xx email@email.com
The key's randomart image is:
+--[ RSA 4096]----+
| xxxxxx |
| xxxxxxxx |
|xxxxxxxxxxx |
|xx xxx xx |
| * * xx |
|. xxxx |
|..xxx |
|. xxx |
| |
+-----------------+

Step 3 – Add this key to the agent

Be sure ssh agent is running in background
$ eval "$(ssh-agent -s)"

It will give you the PID

Add your SSH key to the ssh-agent:
$ ssh-add ~/.ssh/id_rsa

The result should be : identity added xxxxxxxxxxxx

Step 4 – Add the SSH key to your account

install xclip with apt-get :
sudo apt-get install xclip

xclip -sel clip < ~/.ssh/id_rsa.pub
this will copy your key to the clipboard

Connect to your github account and go in SETTING
select SSH Key
Choose Add key
Past the key you have in your clipboard
SAVE

That’s done

Step 5 – Test the connection
ssh -T git@github.com
This will ask you the passphrase after you said yes to the first question

If the username in the message is yours, you’ve successfully set up your SSH key!

mobydock

devops.pm father

More Posts - Website

Follow Me:
TwitterFacebook

Starting with Git and Github on ubuntu

github

1 – Install Git
sudo apt-get install git

2 – Create a github account on GITHUB

3 – configure your git on your linux
git config --global user.name "user_name" where user_name is your github login
git config --global user.email "email" where email is your email used on github

Before the next step I will propose you to see our post about using SSH beetwin git and github

Here is the post :GIT GITHUB and SSH

 

4 – Create a local repository
Create a folder in your system. This will serve as a local repository which will later be pushed onto the GitHub website.
Use the following command: git init devops_pm_rep

 

On github you can try to fork an existing project , for example

https://github.com/jjz109/jhipster_example

Connected you can clic on the fork button to add this project to your account

When your github account is ok , you can create a local clone on your computer by using git
On github, on the right you’ll find a https clone url field. Copy the link.
something like  : https://github.com/xxxxxxxx/jhipster_example.git
in a terminal:
git clone https://github.com/xxxxxxxx/jhipster_example.git where xxxxis your user-name
It should do:

Clonage dans 'jhipster_example'...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
Vérification de la connectivité... fait.

You can now ask git to sync your clone with the original repository (orignal is not your fork but the project you forked)

copy the url to the original project. in the example :
https://github.com/jjz109/jhipster_example.git

in your terminal : go to the repository where you put your git clone

cd $home
ls
cd xxxxxx

when you find your .git
git remote -v will show your repositories

git remote add upstream https://github.com/jjz109/jhipster_example.git
wil add this upstream

Now, you can keep your fork synced with the upstream repository with a few Git commands
Sync a fork of a repository to keep it up-to-date with the upstream repository


git fetch upstream
# remote: Counting objects: 75, done.
# remote: Compressing objects: 100% (53/53), done.
# remote: Total 62 (delta 27), reused 44 (delta 9)
# Unpacking objects: 100% (62/62), done.
# From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
# * [new branch] master -> upstream/master

Fetch the branches and their respective commits from the upstream repository. Commits to master will be stored in a local branch, upstream/master

Check out your fork’s local master branch


$ git checkout master
# Switched to branch 'master'

Merge the changes from upstream/master into your local master branch. This brings your fork’s master branch into sync with the upstream repository, without losing your local changes.
$ git merge upstream/master

Syncing your fork only updates your local copy of the repository. To update your fork on GitHub, you must push your changes.

Pushing to a remote

Use git push to push your local branch to a remote repository.

The git push command takes two arguments:

A remote name, for example, origin
A branch name, for example, master

For example:

git push

As an example, you usually run git push origin master to push your local changes to your online repository.

 

ENJOY !

mobydock

devops.pm father

More Posts - Website

Follow Me:
TwitterFacebook