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.