Block title
Block content
Ze webmaster
Par Ze webmaster,
Fri 07 December 2018

Utiliser GitHub avec SSH

tout schuss !!!!!!!!!!

Principe


Secure Shell (SSH) est à la fois un programme informatique et un protocole de communication sécurisé.
Il permet à un client (un utilisateur ou bien même une machine) d'ouvrir une session interactive sur une machine distante (serveur) afin d'envoyer des commandes ou des fichiers de manière sécurisée au moyen de clés publique et privée.
- Les données circulant entre le client et le serveur sont chiffrées, ce qui garantit leur confidentialité. Il n'est donc pas possible d'écouter le réseau à l'aide d'un analyseur de trames ;
- Le client et le serveur s'authentifient mutuellement afin d'assurer que les deux machines qui communiquent sont bien celles que chacune des parties croit être. Il n'est donc plus possible pour un pirate d'usurper l'identité du client ou du serveur (spoofing).

Nativement installé sur Linux, il vous faudra passer par un utilitaire, type putty.

 

Git et github


Outre sécuriser sa communication, utiliser git avec ssh vous offre un confort d'utilisation pour toutes les opérations de push, pull, deploy...
Très facile à mettre en place, GitHub a déjà tout prévu.

Alors, voici la marche à suivre !

1 // Génération des clés
Pour générer les clés, vous pouvez utiliser l'utilitaire fourni avec OpenSSH (“ssh-keygen'” présent par défaut sous Linux) avec la commande suivante : ssh-keygen.

ssh-keygen -t rsa -b 4096 -C "mail@mail.com"
ls ~/.ssh/
authorized_keys  id_rsa
id_rsa.pub       known_hosts

Le fichier .pub est votre clé publique, c'est celle qu'il faudra ajouter dans votre trousseau.
Le fichier id_rsa contient votre clé privée, qui ne doit JAMAIS être communiquée.
Seule la clé publique doit être envoyée sur un serveur ou une instance !

2 // Déclarer votre clé privé à votre manager

eval "$(ssh-agent -s)"
# Demarre l'agent ssh en tâche de fond
Agent pid 59566
ssh-add ~/.ssh/id_rsa

Votre gestionnaire connait dersomais votre clé. Vous allez pouvoir l'utiliser pour communiquer.

3 // Déclarer sa clé dans GitHub
Dans les paramètres de votre compte GitHub, onglet SSH.
Simplement copier-coller la clé publique précédemment générée.

4 // Tester la connexion
Dans un projet git

ssh -T git@github.com

vous devriez voir ça ... Pas de panique, en fait c'est cool.

The authenticity of host 'github.com (IP ADDRESS)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?

Ce message nous préciser que votre agen ssh ne connait encore le serveur github. Donc 'yes', we are sur !
Et ensuite,

Hi username! You've successfully authenticated, 
but GitHub does not provide shell access.

Et ben voilà magique

5 // Mettre à jour ces dépots en local

git remote -v
# Pour la liste des remotes associés à ce projet
origin  https://github.com/<username>/repo.git (fetch)
origin  https://github.com/<username>/repo.git (push)
git remote set-url origin git@github.com:<username>/repo.git
git remote -v
# Pour vérifier
origin  git@github.com:<username>/repo.git (fetch)
origin  git@github.com:<username>/repo.git (push)

 

C'est fini


C'est bon, vous pouvez y aller !
Et pour en savoir un peu plus, toujours la documentation.

Github & SSH
https://help.github.com/articles/connecting-to-github-with-ssh/

Changer l'url d'un remote
https://help.github.com/articles/changing-a-remote-s-url/#switching-remote-urls-from-https-to-ssh

Commentaires


Ajouter un commentaire

edit Ajouter un commentaire