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.