Configurer le serveur Git avec SSH sur Ubuntu

Configurer le serveur Git avec SSH sur Ubuntu
Si vous avez un petit nombre de membres de l'équipe travaillant sur certains projets, 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 à utiliser Github ou tout autre service dans ce cas. Le serveur GIT basé sur SSH est vraiment facile à configurer 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.

Configuration du serveur GIT:

Dans cette section, je vais vous montrer comment configurer un serveur Ubuntu en tant que serveur GIT accessible SSH.
Tout d'abord, mettez à jour le cache du référentiel de package APT avec la commande suivante:

$ sudo apt mise à jour

Le cache du référentiel de package APT doit être mis à jour.

Maintenant, installez OpenSSH Server et Git avec la commande suivante:

$ sudo apt install openssh-server git

Maintenant, appuyez sur Y Et puis appuyez sur Pour confirmer l'installation.

Le serveur OpenSSH et GIT doivent être installés.

Maintenant, créez un nouvel utilisateur git avec la commande suivante:

$ sudo useradd --create-home --shell / bin / bash git

Tous les référentiels Git seront sauvés dans le répertoire domestique du git utilisateur / Home / Git.

Maintenant, connectez-vous comme le git Utilisateur avec la commande suivante:

$ sudo su - git

Maintenant, créez un nouveau répertoire .ssh avec la commande suivante:

$ mkdir .ssh

Maintenant, permettez uniquement git Utilisateur à lire, écrire, les autorisations exec sur le répertoire .ssh / comme suit:

$ chmod 700 .ssh /

Comme vous pouvez le voir, le git L'utilisateur a uniquement lu (r), écrire (w), exécuter (x) les autorisations sur le .ssh / annuaire.

$ ls -ld .ssh /

Maintenant, créez un nouveau fichier vide .SSH / AUTORISED_KEYS comme suit:

$ touche .SSH / AUTORISED_KEYS

Autoriser la lecture et l'écriture dans le fichier à partir du git Utilisateur comme suit:

$ chmod 600 .SSH / AUTORISED_KEYS

Comme vous pouvez le voir, seul le git L'utilisateur a lu (r) et écrire (w) les autorisations au fichier .SSH / AUTORISED_KEYS.

Dans le .SSH / AUTORISED_KEYS Fichier, vous devez ajouter la clé publique des utilisateurs auxquels vous souhaitez accéder aux référentiels GIT sur le serveur GIT.

Ajout de la clé publique du client au serveur GIT:

Pour accéder aux référentiels 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 public-privé comme suit:

$ ssh-keygen

Presse .

Presse .

Presse .

Presse .

Maintenant, le client peut trouver sa clé publique comme suit:

$ cat ~ /.ssh / id_rsa.pub

La clé publique du client doit être imprimée. Maintenant, le client peut envoyer cette clé publique au gestionnaire (qui gère le serveur GIT). Le gestionnaire peut ensuite ajouter la clé publique au serveur GIT. Ensuite, le client peut accéder au serveur GIT.

Disons que le client a envoyé sa clé publique au Git Server Manager. Le gestionnaire a téléchargé la clé publique pour / tmp / shovon-key.pub fichier sur le serveur GIT.

Maintenant, le Git Server Manager peut ajouter la clé publique du client comme suit:

$ cat / tmp / shovon-key.pub >> ~ /.SSH / AUTORISED_KEYS

Maintenant le .SSH / AUTORISED_KEYS Le fichier doit avoir la clé publique du client.

Création de référentiels GIT sur le serveur:

Les clients ne peuvent pas créer de nouveaux référentiels GIT sur le serveur. Le Git Server Manager doit créer un référentiel sur le serveur. Ensuite, les clients peuvent se cloner, pousser / tirer du référentiel.

Maintenant, créez un nouveau référentiel git vide testrepo sur le serveur GIT comme suit:

$ git init - bare testrepo

Maintenant, le client n'a besoin que de connaître l'adresse IP du serveur GIT afin d'accéder au testrepo Référentiel GIT.

Le Git Server Manager peut trouver ces informations comme suit:

$ ip a

Comme vous pouvez le voir, l'adresse IP du serveur GIT est 192.168.21.185. Maintenant, le responsable du serveur peut le dire aux clients qui travailleront sur le projet.

Clonage du référentiel GIT depuis le serveur:

Une fois que le client connaît l'adresse IP et le nom du référentiel Git, il peut le cloner à son ordinateur comme suit:

$ git clone git @ 192.168.21.185: ~ /> TestRepo

Maintenant, tapez Oui et presser . Vous aurez besoin de le faire une fois, seulement la première fois.

Le testrepo Le référentiel GIT doit être cloné à partir du serveur.

Un nouveau répertoire testrepo devrait être créé.

Apporter des modifications et pousser les modifications au serveur GIT:

Maintenant, le client peut ajouter des commits au testRepo / référentiel et pousser les modifications au serveur GIT.

$ cd testrepo /
$ Echo "Hello World"> Test.SMS
$ git add .
$ git commit -m 'initial commit'
[/ cc [

[cc lang = "bash"]
$ git push origine

Ajout d'un nouveau membre de l'équipe:

Maintenant, disons, bob veut contribuer au testrepo Référentiel GIT.

Tout ce qu'il a à faire est de générer une paire de clés SSH et d'envoyer la clé publique au Git Server Manager.

$ ssh-keygen

Une fois que le Git Server Manager a la clé publique de bob, Il peut le télécharger sur le serveur GIT et l'ajouter au .SSH / AUTORISED_KEYS Fichier comme suit:

$ cat / tmp / bob-key.pub >> ~ /.SSH / AUTORISED_KEYS

Maintenant, bob peut cloner le testrepo Référentiel GIT du serveur comme suit:

$ git clone git @ 192.168.21.185: ~ / TestRepo

testrepo devrait être cloné.

Un nouveau répertoire testrepo devrait être créé dans l'ordinateur de Bob.

Maintenant, Bob peut accéder au référentiel GIT comme suit:

$ cd testrepo /

Il devrait trouver des commits existants.

$ git journal

Maintenant, bob peut faire son propre travail et le commettre. Ensuite, poussez les modifications au serveur.

$ echo "Hello World 2" >> Test.SMS
$ git add .
$ git commit -m 'Message modifié'
$ git push origine

Maintenant, d'autres personnes travaillant sur le même référentiel peuvent tirer les changements comme suit:

$ git till Origin

Il / elle devrait trouver les commits qui bob fait.

C'est donc ainsi que vous configurez un serveur Git avec SSH sur Ubuntu et l'utilisez. Merci d'avoir lu cet article.