Aujourd’hui j’ai décidé de déposer le script xcodebuild-wrapper.py dans GitHub afin de le partager avec la communauté.
Les échanges avec GitHub se font en passant par SSH afin de chiffrer les communications et assurer un minimum de sécurité.
Dans la mise en place du compte GitHub explique comment créer une paire de clefs RSA, comme mettre la clef publique sure dans les paramètres du compte GitHub.
Tout cela est très bien, mais me pose (et peux vous poser) un problème. J’ai déjà des paires de clefs SSH dans mon $HOME/.ssh
. Comment faire pour avoir une clef spécifique et utiliser celle-là au moment des push/pull ?
Génération de la paire de clefs
La première entorse aux instructions de GitHub se fait dès la création de la paire de clefs. Au lieu de laisser faire ssh-keygen
, je donne le nom du fichier que je veux pour ma clef privée, ici github.rsa
|
|
~/.ssh/github.ras.pub
) sur le serveur en suivant les instructions de GitHub… encore une fois pas jusqu’au bout.
Pour tester la connectivité, nous devons modifier la commande proposée :
|
|
Macédoine d’instructions
GitHub propose de configurer de façon globale (mot clef global dans les commandes git). Personnellement, ça me dérange, j’utilise git avec d’autres dépôts et j’aimerais laisser la configuration globale telle quelle est.
Avant la série d’instruction qui consiste à mettre le nom du développeur et le token GitHub dans la configuration GLOBAL de git, nous allons créer le répertoire local qui contient nos sources.
|
|
|
|
SSH, le retour de la vengeance du petit fils
Si nous continuons les instructions de GitHub, nous allons avoir un problème. La commande git ne va pas trouver la bonne clef privée pour dialoguer avec le serveur GitHub. Nous devons ruser en utilisant une des fonctionnalités de OpenSSH, j’ai nommé, le fichier $HOME/.ssh/config
.
Dans ce fichier nous allons indiquer comment joindre le serveur GitHub. Mais voyez plutôt :
|
|
La première ligne est un petit nom pour le serveur, le seconde indique l’adresse ou le nom du serveur, user DOIT être git dans cette configuration, et IdentityFile est le chemin vers la clef privée.
Réessayons la commande que GitHub propose pour tester une fois le fichier sauvegardé. Cette fois, j’utilise le petit nom de ma configuration.
|
|
Finissons-en maintenant
En effet, nous pouvons maintenant reprendre la documentation de GitHub (avec encore quelques modifications mineures).
|
|
J’utilise le petit nom de ma configuration SSH.
Pour cloner, on utiliser à nouveau le petit nom :
|
|