Accéder au gitlab du labo avec des clés ssh
Voici la procédure pour avoir accès au Gitlab du laboratoire. Git est un outil de développement collaboratif et contrôle de versions.
Etape 0: Préconditions
- Une machine sous Linux avec Git et Ssh installés.
- Accès sudo.
Étape 1: S'authentifier dans l'intranet et aller sur la page Gitlab du labo
Ouvrir un navigateur et se connecter à l'adresse web du Gitlab du labo. Puisque cette adresse est dans l'intranet du labo, il faudra s'authentifier avec utilisateur et mot de passe de réseaux LIPN.
Si c'est la première connexion au Gitlab, il faut enregistrer une clé SSH pour s'authentifier auprès du serveur git du labo. Cette procédure est également nécessaire pour les utilisateurs se connectant à Gitlab à partir de différentes machines (la machine de la maison et celle du bureau). Il faudra alors générer des clés SSH pour chaque machine.
Étape 2: Vérification locale des clés SSH
Tout d'abord il faut se positionner sur le répertoire $HOME/.ssh et vérifier son contenu avec les commande suivantes:
$ cd ~/.ssh $ ls
Vérifiez si dans la liste des fichiers dans votre répertoire .ssh vous avez un fichier appelé idrsa.pub ou iddsa.pub. Si ce n'est pas le cas, continuez avec l'étape 3. Si vous avez déjà ses fichiers, vous pouvez passer directement à l'étape 4.
Étape 3: Géneration d'une nouvelle clé SSH
La suite de commandes suivante génère une nouvelle clé SSH. Pour les réglages par défaut, il faudra juste frapper sur la touche entrée.
$ ssh-keygen -t rsa -C "votre_mail@lipn.univ-paris13.fr" Generating public/private rsa key pair. Enter file in which to save the key (/home/you/.ssh/id_rsa): [frappez la touche entrée] Enter passphrase (empty for no passphrase): [frappez la touche entrée si vous ne voulez pas de phrase de passe] Enter same passphrase again: [entrée où phrase de passe]
Le résultat devrait ressembler à ça:
Your identification has been saved in /home/you/.ssh/id_rsa. # Your public key has been saved in /home/you/.ssh/id_rsa.pub. # The key fingerprint is: # 05:0f:d4:3b:cb:85:f6:17:c1:7d:f4:32:7d:f0:a1:db votre_nom@lipn.univ-paris13.fr
Étape 4: Enregistrer la nouvelle clé SSH dans l'ensemble de clés SSH dans le Gitlab
Avant de revenir sur le navigateur qu'on a préalablement ouvert dans l'étape 1, il faut installer l'outil xclip qui permet de copier le contenu intègre d'un ficher.
Sur Ubuntu, il faut faire la commande suivante:
$ sudo apt-get install xclip
Sur Mageia:
$ sudo urpmi xclip
Une fois xclip installé, il faut copier le contenu du fichier idrsa.pub avec la commande suivante: <code> $ xclip -sel clip < ~/.ssh/idrsa.pub </code> Maintenant, il faut revenir à la fenêtre du navigateur web où la page du Gitlab est déjà ouverte et suivre les instructions suivantes:
Sur l'écran d'accueil du Gitlab, il faut aller sur son profile d'utilisateur qui se trouve en haut à droite de l'écran, en survolant l'avatar, touche "My profile"
Sur l'écran "Profile", il faut choisir l'option "SSH Keys"
Sur l'écran "SSH Keys" il faut choisir l'option "Add new"
Dans le champ "Title" il faut donner un nom pour la clé SSH qu'on s’apprête à enregistrer.
Sur le champ "Key" il faut coller (touches Ctrl+V) la clé qu'on vient de copier avec xclip.
Étape 5: Vérifier l'accès
Pour s'assurer que tout a bien marché il faut faire un appel ssh au serveur Gitlab avec la commande:
$ ssh -T git@git.lipn.univ-paris13.fr
La réponse devrait ressembler à ça:
X11 forwarding request failed on channel 0 hello garciaflores_lipn_univ-paris13_fr_1362669807, this is gitolite v2.2-11-g8c4d1aa-dt running on git 1.7.5.4 the gitolite config gives you the following access: R W annotator R W omar_test R W platanne R W semeval R W terminae @R_ @W_ testing
Pour l'accès à des depôts gits déjà existants, vous devez demander à l'administrateur qui vous déclare comme partie de l'équipe de travail de ce dépôt Gitlab, puisque maintenant vous êtes prêt à coder comme un malade avec git!