Configurer le serveur Git avec SSH sur CentOS 8

Configurer le serveur Git avec SSH sur CentOS 8
Si vous avez une petite entreprise technologique, vous pouvez configurer un serveur GIT basé sur SSH afin que les personnes travaillant sur un projet puissent collaborer entre elles. Dans cet article, je vais vous montrer comment configurer un serveur GIT avec SSH sur CentOS 8. Alors, commençons.

Configuration de SSH pour le serveur GIT:

Afin de configurer un serveur GIT pour travailler sur SSH, vous devez vous assurer que SSH est installé et s'exécute correctement.

Tout d'abord, mettez à jour le cache du référentiel de package CENTOS 8 avec la commande suivante:

$ sudo dnf makecache

Maintenant, installez le serveur SSH avec la commande suivante:

$ sudo dnf install -y openssh

Il doit être installé. Dans mon cas, il était déjà installé.

Maintenant, vérifiez si le service SSH s'exécute avec la commande suivante:

$ sudo systemctl status sshd

Le service SSH doit être exécuté comme indiqué dans la capture d'écran ci-dessous.

Si pour une raison quelconque, le service SSH ne fonctionne pas pour vous, vous pouvez le démarrer avec la commande suivante:

$ sudo systemctl start sshd

Maintenant, permettez l'accès aux ports SSH via le pare-feu avec la commande suivante:

$ sudo Firewall-CMD --Add-Service = SSH --Permanent

Enfin, exécutez la commande suivante pour les modifications de configuration du pare-feu à prendre effet:

$ sudo Firewall-CMD - Reload

Installation de Git:

Maintenant, vous pouvez installer Git avec la commande suivante:

$ sudo dnf installer git

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

Git doit être installé.

Création d'un utilisateur dédié pour l'hébergement des référentiels GIT:

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

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

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

$ sudo su - git

Maintenant, créez un nouveau répertoire ~ /.ssh comme suit:

$ mkdir ~ /.ssh

Seulement le git L'utilisateur doit avoir lu, écrire et exécuter l'autorisation ~ /.ssh annuaire.

Pour ce faire, exécutez la commande suivante:

$ chmod 700 ~ /.ssh /

Comme vous pouvez le voir, maintenant seulement l'utilisateur git a lu, écrire et exécuter l'autorisation au répertoire.

$ ls -ld ~ /.ssh /

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

$ touch ~ /.SSH / AUTORISED_KEYS

Seulement le git L'utilisateur doit avoir lu et écrire l'autorisation ~ /.SSH / AUTORISED_KEYS déposer.

Pour ce faire, exécutez la commande suivante:

$ chmod 600 ~ /.SSH / AUTORISED_KEYS

Comme vous pouvez le voir, maintenant seulement l'utilisateur git a lu et rédiger la permission du ~ /.SSH / AUTORISED_KEYS déposer.

$ ls -lh ~ /.SSH / AUTORISED_KEYS

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

Pour accéder aux référentiels GIT sur le serveur GIT, les utilisateurs du référentiel doivent ajouter leurs clés publiques au serveur GIT.

Les utilisateurs peuvent générer leurs clés SSH avec la commande suivante:

$ ssh-keygen

Presse .

Presse .

Presse .

La clé SSH doit être générée.

Maintenant, les utilisateurs peuvent trouver leur clé publique dans le ~ /.ssh / id_rsa.pub déposer.

$ cat ~ /.ssh / id_rsa.pub

Maintenant, les utilisateurs devraient envoyer leurs clés publiques à l'administrateur du serveur GIT et l'administrateur du serveur peut ajouter ces clés au serveur GIT.

Disons que l'administrateur du serveur a téléchargé le fichier de clé publique sur le serveur GIT. Le fichier est sur le chemin / tmp / shovon-key.pub.

Maintenant, l'administrateur du serveur peut ajouter le contenu de la clé publique au ~ /.SSH / AUTORISED_KEYS Fichier comme suit:

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

La clé publique doit être annexée à la fin du ~ /.SSH / AUTORISED_KEYS déposer.

Création d'un référentiel GIT vide sur le serveur GIT:

Dans le répertoire domestique du git Utilisateur, nous conserverons tous nos référentiels Git auxquels les personnes autorisées peuvent accéder.

Pour créer un référentiel git vide test Sur le serveur GIT, exécutez la commande suivante:

$ git init - Test de bare.git

Si un utilisateur autorisé souhaite accéder au référentiel GIT depuis le serveur GIT, tout ce dont il a besoin est le nom du référentiel GIT et l'adresse IP du serveur GIT.

Pour trouver l'adresse IP du serveur GIT, exécutez la commande suivante:

$ nmcli

L'adresse IP dans mon cas est 192.168.20.129. Ce sera différent pour vous. Alors, assurez-vous de le remplacer à partir de maintenant.

Un nouveau répertoire test.git devrait être créé sur le serveur GIT.

Accès aux référentiels GIT depuis Git Server:

Maintenant, un utilisateur autorisé peut accéder au test Référentiel GIT que nous avons créé plus tôt comme suit:

$ git clone git @ 192.168.20.129: ~ / Test.git

Si l'utilisateur se connecte au serveur GIT pour la première fois, il devra taper Oui et presser .

Le référentiel Git test devrait être cloné.

Un nouveau répertoire test/ devrait être créé dans le répertoire de travail actuel des utilisateurs.

L'utilisateur devra accéder au test / répertoire comme suit:

$ cd test /

Disons que l'utilisateur a créé un nouveau fichier.

$ Echo "Hello World"> Message.SMS

A engagé les changements.

$ git add .

$ git commit -m 'initial commit'

$ Git Log --Oneline

Ensuite, l'utilisateur a poussé les modifications au serveur GIT.

$ git push origine

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

Si un autre utilisateur souhaite accéder au test du référentiel GIT, il devra générer une clé SSH et envoyer la clé publique à l'administrateur du serveur GIT. Une fois que l'administrateur Git Server a ajouté sa clé publique au ~ /.SSH / AUTORISED_KEYS fichier, l'utilisateur peut également accéder aux référentiels GIT sur le serveur.

Disons, bob veut également travailler sur le test Référentiel GIT.

Il clones le test Référentiel Git sur son ordinateur.

$ git clone git @ 192.168.20.129: ~ / Test.git

bob types Oui et presses .

Le test Le référentiel Git est cloné.

bob naviguer vers le test/ annuaire.

Trouve la validation que la personne travaillant sur ce référentiel Git a fait.

$ Git Log --Oneline

Il apporte quelques modifications au projet.

$ echo "Cette modification est de Bob" >> Message.SMS

Commet les changements.

$ git add .
$ echo "Cette modification est de Bob" >> Message.SMS
$ Git Log --Oneline

bob pousse les modifications au serveur GIT.

Maintenant, l'autre utilisateur bousculade Tire les modifications (le cas échéant) dans le référentiel GIT du serveur GIT.

bousculade trouve le nouveau commit qui bob fait.

$ Message Cat.SMS

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