Si vous avez un petit nombre de membres d’équipe travaillant sur certains projets, alors vous pouvez configurer un serveur Git via SSH sur votre bureau et travailler sur des projets en équipe très facilement. Vous n’avez pas besoin d’utiliser GitHub ou tout autre service dans ce cas. Le serveur Git basé sur SSH est vraiment facile à installer et à utiliser. Dans cet article, je vais vous montrer comment configurer un serveur Git avec SSH sur Ubuntu et comment l’utiliser. Alors, commençons.
Dans cette section, je vais vous montrer comment configurer un serveur Ubuntu comme un serveur Git accessible par SSH.
Premièrement, mettez à jour le cache du dépôt de paquets APT avec la commande suivante :
Le cache du dépôt de paquets APT devrait être mis à jour.
Maintenant, installez le serveur OpenSSH et Git avec la commande suivante :
Maintenant, appuyez sur Y puis sur <Enter> pour confirmer l’installation.
Le serveur OpenSSH et Git devraient être installés.
Maintenant, créez un nouvel utilisateur git avec la commande suivante :
Tous les dépôts Git seront enregistrés dans le répertoire home de l’utilisateur git /home/git.
Maintenant, connectez-vous en tant qu’utilisateur git avec la commande suivante:
Maintenant, créez un nouveau répertoire .ssh avec la commande suivante:
Maintenant, autorisez uniquement l’utilisateur git à avoir des droits de lecture, d’écriture, d’exécution sur le répertoire .ssh/ comme suit:
Comme vous pouvez le voir, l’utilisateur git n’a que des autorisations de lecture (r), d’écriture (w), d’exécution (x) sur le répertoire .ssh/.
Maintenant, créez un nouveau fichier vide .ssh/authorized_keys comme suit :
Only allow read and write to the file from the git user as follows:
Comme vous pouvez le constater, seul l’utilisateur git dispose des droits de lecture (r) et d’écriture (w) sur le fichier .ssh/authorized_keys.
Dans le fichier .ssh/authorized_keys, vous devez ajouter la clé publique des utilisateurs que vous souhaitez voir accéder aux dépôts Git sur le serveur Git.
Ajouter la clé publique du client au serveur Git:
Pour accéder aux dépôts Git sur le serveur Git, le client doit ajouter sa clé publique au serveur Git.
Le client peut générer une paire de clés publique-privée comme suit :
Appuyez sur <Enter>.
Pressez <Enter>.
Pressez <Enter>.
Pressez <Enter>
Maintenant, le client peut trouver sa clé publique comme suit :
La clé publique du client devrait être imprimée. Maintenant, le client peut envoyer cette clé publique au gestionnaire (qui gère le serveur Git). Le gestionnaire peut alors ajouter la clé publique au serveur Git. Le client peut alors accéder au serveur Git.
Disons que le client a envoyé sa clé publique au gestionnaire du serveur Git. Le gestionnaire a téléchargé la clé publique dans le fichier /tmp/shovon-key.pub sur le serveur Git.
Maintenant, le gestionnaire du serveur Git peut ajouter la clé publique du client comme suit :
Maintenant, le fichier .ssh/authorized_keys doit contenir la clé publique du client.
Création de dépôts Git sur le serveur:
Les clients ne peuvent pas créer de nouveaux dépôts Git sur le serveur. Le gestionnaire du serveur Git doit créer un dépôt sur le serveur. Ensuite, les clients peuvent cloner, pousser/tirer depuis le référentiel.
Maintenant, créez un nouveau dépôt Git vide testrepo sur le serveur Git comme suit :
Maintenant, le client a seulement besoin de connaître l’adresse IP du serveur Git afin d’accéder au dépôt Git testrepo.
Le gestionnaire du serveur Git peut trouver cette information comme suit :
Comme vous pouvez le voir, l’adresse IP du serveur Git est 192.168.21.185. Maintenant, le gestionnaire du serveur peut l’indiquer aux clients qui vont travailler sur le projet.
Clonage du dépôt Git depuis le serveur:
Une fois que le client connaît l’adresse IP et le nom du dépôt Git, il peut le cloner sur son ordinateur comme suit :
Maintenant, tapez oui et appuyez sur <Enter>. Vous devrez effectuer cette opération une seule fois.
Le dépôt Git testrepo doit être cloné depuis le serveur.
Un nouveau répertoire testrepo doit être créé.
Faire des changements et pousser les changements vers le serveur Git:
Maintenant, le client peut ajouter des commits au dépôt testrepo/ et pousser les changements vers le serveur Git.
$ git push origin
Ajouter un nouveau membre d’équipe :
Maintenant, disons que bob veut contribuer au dépôt Git testrepo.
Tout ce qu’il a à faire est de générer une paire de clés SSH et d’envoyer la clé publique au gestionnaire du serveur Git.
Une fois que le gestionnaire du serveur Git a la clé publique de bob, il peut la télécharger sur le serveur Git et l’ajouter au fichier .ssh/authorized_keys comme suit :
Maintenant, bob peut cloner le dépôt Git testrepo depuis le serveur comme suit :
testrepo devrait être cloné.
Un nouveau répertoire testrepo doit être créé sur l’ordinateur de bob.
Maintenant, bob peut naviguer vers le dépôt Git comme suit :
Il devrait trouver quelques commits existants.
Maintenant, bob peut faire son propre travail et le commiter. Ensuite, il faut pousser les modifications sur le serveur.
$ git commit -m ‘Changed message’
Maintenant, d’autres personnes travaillant sur le même dépôt peuvent tirer les changements comme suit :
Il devrait trouver les commits que bob a effectués.
Donc, voilà comment configurer un serveur Git avec SSH sur Ubuntu et l’utiliser. Merci d’avoir lu cet article.