Configuration de SSH pour le serveur Git :
Afin de configurer un serveur Git pour qu'il fonctionne sur SSH, vous devez vous assurer que SSH est installé et fonctionne correctement.
Tout d'abord, mettez à jour le cache du référentiel de packages CentOS 8 avec la commande suivante :
$ sudo dnf makecache
Maintenant, installez le serveur SSH avec la commande suivante :
$ sudo dnf install -y openssh
Il devrait être installé. Dans mon cas, il était déjà installé.
Maintenant, vérifiez si le service SSH est en cours d'exécution avec la commande suivante :
$ sudo systemctl status sshd
Le service SSH devrait fonctionner comme indiqué dans la capture d'écran ci-dessous.
Si, pour une raison quelconque, le service SSH ne s'exécute pas pour vous, vous pouvez le démarrer avec la commande suivante :
$ sudo systemctl démarrer sshdMaintenant, autorisez 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 que les modifications de configuration du pare-feu prennent 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 en tant que 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 l'autorisation de lecture, d'écriture et d'exécution sur le ~/.ssh annuaire.
Pour ce faire, exécutez la commande suivante :
$ chmod 700 ~/.chut/
Comme vous pouvez le voir, désormais, seul l'utilisateur git a les droits de lecture, d'écriture et d'exécution sur le répertoire.
$ ls -ld ~/.chut/
Maintenant, créez un nouveau fichier ~/.ssh/authorized_keys comme suit:
$ toucher ~/.ssh/authorized_keys
Seulement le git l'utilisateur doit avoir l'autorisation de lecture et d'écriture sur le ~/.ssh/authorized_keys déposer.
Pour ce faire, exécutez la commande suivante :
$ chmod 600 ~/.ssh/authorized_keys
Comme vous pouvez le voir, désormais, seul l'utilisateur git a l'autorisation de lecture et d'écriture sur le ~/.ssh/authorized_keys déposer.
$ ls -lh ~/.ssh/authorized_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.
Désormais, les utilisateurs peuvent trouver leur clé publique dans le ~/.ssh/id_rsa.pub déposer.
$ chat ~/.ssh/id_rsa.pub
Maintenant, les utilisateurs doivent 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 dans le chemin /tmp/shovon-key.pub.
Maintenant, l'administrateur du serveur peut ajouter le contenu de la clé publique au ~/.ssh/authorized_keys fichier comme suit :
$ cat /tmp/shovon-key.pub >> ~/.ssh/authorized_keys
La clé publique doit être ajoutée à la fin du ~/.ssh/authorized_keys déposer.
Création d'un référentiel Git vide sur le serveur Git :
Dans le répertoire personnel du git utilisateur, nous conserverons tous nos référentiels Git auxquels les personnes autorisées pourront accéder.
Pour créer un dépôt Git vide test sur le serveur Git, exécutez la commande suivante :
$ git init --test nu.git
Si un utilisateur autorisé souhaite accéder au référentiel Git à partir du serveur Git, il n'a besoin que du nom du référentiel Git et de l'adresse IP du serveur Git.
Pour trouver l'adresse IP du serveur Git, exécutez la commande suivante :
$ nmcliL'adresse IP dans mon cas est 192.168.20.129. Ce sera différent pour toi. Alors, assurez-vous de le remplacer à partir de maintenant.
Un nouvel annuaire test.git doit être créé sur le serveur Git.
Accéder aux référentiels Git à partir du serveur Git :
Désormais, un utilisateur autorisé peut accéder au test Dépôt Git que nous avons créé précédemment comme suit :
$ git clone [email protected]:~/test.git
Si l'utilisateur se connecte au serveur Git pour la première fois, il devra saisir Oui et appuyez sur
Le dépôt Git test doit être cloné.
Un nouvel annuaire test/ doit être créé dans le répertoire de travail actuel de l'utilisateur.
L'utilisateur devra naviguer jusqu'au répertoire test/ comme suit :
$ cd test/
Disons que l'utilisateur a créé un nouveau fichier.
$ echo "Bonjour tout le monde" > message.SMS
Engagé les changements.
$ git ajouter .
$ git commit -m 'validation initiale'
$ git log --oneline
Ensuite, l'utilisateur a poussé les modifications vers le 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 du serveur Git ajoute sa clé publique au ~/.ssh/authorized_keys fichier, l'utilisateur peut également accéder aux référentiels Git sur le serveur.
Disons, bob veut aussi travailler sur le test Dépôt Git.
Il clone le test Dépôt Git sur son ordinateur.
$ git clone [email protected]:~/test.git
bob saisit Oui et presse
le test Le dépôt Git est cloné.
bob navigue vers le test/ annuaire.
Trouve le commit que la personne travaillant sur ce dépôt Git a fait.
$ git log --oneline
Il apporte quelques modifications au projet.
$ echo "cette modification vient de bob" >> message.SMS
S'engage les changements.
$ git ajouter .$ echo "cette modification vient de bob" >> message.SMS
$ git log --oneline
bob envoie les modifications au serveur Git.
Maintenant, l'autre utilisateur shovon extrait les modifications (le cas échéant) du référentiel Git à partir du serveur Git.
shovon trouve le nouveau commit qui bob fait.
$ chat message.SMS
C'est ainsi que vous configurez un serveur Git avec SSH sur CentOS 8 et l'utilisez. Merci d'avoir lu cet article.