Le Remote est le système de sauvegarde réseau de Git. Ainsi, le site Github n’est ni plus ni moins qu’un gestionnaire de Remote avec une interface Web. La connexion se fera au travers du protocole SSH.

Installation de Git sur le serveur

sudo apt-get install git

Création de l’utilisateur Git

L’utilisateur « git » nous permettra d’interagir avec le dépôt distant.

sudo adduser –system –shell /bin/bash –group –disabled-password –home /var/git/ git

On change ensuite le propriétaire du répertoire « /var/git« , en effet il est créé au moment de l’installation de git et il est le répertoire home de l’utilisateur git.

sudo chown git:git /var/git

Configuration de l’accès SSH pour cet utilisateur
On génère la clé SSH de l’utilisateur git.

ssh-keygen -t rsa

Sélectionner le répertoire d’enregistrement par défaut des clés. Le fichier « id_rsa » contient la clé privé et le fichier « id_rsa.pub » contient la clé publique. Changer les droits d’accès à la clé privé et la clé publique.

sudo chmod 755 ~/.ssh
sudo chmod 600 ~/.ssh/id_rsa
sudo chmod 644 ~/.ssh/id_rsa.pub

Ensuite, on copie la clé publique vers un nouveau fichier « authorized_keys » et on modifie son droit d’accès.

cp ~/.ssh/id_rsa.pub /var/git/.ssh/authorized_keys
sudo chmod 644 ~/.ssh/authorized_keys

Test
Pour tester la connexion SSH, il suffit de se connecter sur l’utilisateur git avec un client SSH. Pour moi avec le client SSH via la commande :

ssh [email protected]

Création du dépôt

sudo mkdir /var/git/mon-depot.git
sudo cd /var/git/mon-depot.git
sudo git init –bare
sudo chown -R git:git /var/git/mon-depot.git

Ici, on créait le répertoire qui contiendra le projet, on initialise le projet git (l’argument –bare permet d’indiquer que le dépôt est vide) et on change le propriétaire du projet.

Clone et commit sur le Remote

git clone [email protected]:mon-depot.git

Un message vous indiquant que le dépôt cloné est vide s’affiche.