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 packages APT avec la commande suivante :
Le cache du référentiel de packages APT doit être mis à jour.
Maintenant, installez le serveur OpenSSH et Git avec la commande suivante :
$ sudo apt install openssh-server git
Maintenant, appuyez sur Oui puis appuyez sur
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 dépôts Git seront enregistrés dans le répertoire personnel du git utilisateur /accueil/git.
Maintenant, connectez-vous en tant que git utilisateur avec la commande suivante :
$ sudo su - git
Maintenant, créez un nouveau répertoire .ssh avec la commande suivante :
$ mkdir .ssh
Maintenant, n'autorisez que git l'utilisateur doit avoir les autorisations de lecture, d'écriture et d'exécution sur le répertoire .chut/ comme suit:
$ chmod 700 .chut/
Comme vous pouvez le voir, le git l'utilisateur n'a que les autorisations de lecture (r), d'écriture (w), d'exécution (x) sur le .chut/ annuaire.
$ ls -ld .chut/
Maintenant, créez un nouveau fichier vide .ssh/authorized_keys comme suit:
$ toucher .ssh/authorized_keys
Autoriser uniquement la lecture et l'écriture dans le fichier à partir du git utilisateur comme suit :
$ chmod 600 .ssh/authorized_keys
Comme vous pouvez le voir, seul le git l'utilisateur a les autorisations de lecture (r) et d'écriture (w) sur le fichier .ssh/authorized_keys.
Dans le .ssh/authorized_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 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 :
$ ssh-keygen
presse
presse
presse
presse
Maintenant, le client peut trouver sa clé publique comme suit :
$ chat ~/.ssh/id_rsa.pub
La clé publique du client doit être imprimée. Maintenant, le client peut envoyer cette clé publique au manager (qui gère le serveur Git). Le gestionnaire peut alors 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 gestionnaire de serveur Git. Le gestionnaire a téléchargé la clé publique sur /tmp/shovon-key.pub fichier sur le serveur Git.
Maintenant, le gestionnaire de serveur Git peut ajouter la clé publique du client comme suit :
$ cat /tmp/shovon-key.pub >> ~/.ssh/authorized_keys
Maintenant le .ssh/authorized_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 gestionnaire de serveur Git doit créer un référentiel sur le serveur. Ensuite, les clients peuvent cloner, pousser/tirer du référentiel.
Maintenant, créez un nouveau dépôt Git vide testrepo sur le serveur Git comme suit :
$ git init --bare testrepo
Désormais, le client n'a besoin de connaître que l'adresse IP du serveur Git pour accéder au testrepo Dépôt Git.
Le gestionnaire de serveur Git peut trouver ces informations comme suit :
$ ip aComme vous pouvez le voir, l'adresse IP du serveur Git est 192.168.21.185. Maintenant, le gestionnaire de serveur peut le dire aux clients qui travailleront sur le projet.
Clonage du référentiel Git à partir du serveur :
Une fois que le client connaît l'adresse IP et le nom du référentiel Git, il peut le cloner sur son ordinateur comme suit :
$ git clone [email protected]:~/>testé
Maintenant, tapez Oui et appuyez sur
le testrepo Le référentiel Git doit être cloné à partir du serveur.
Un nouvel annuaire testrepo devrait être créé.
Apporter des modifications et appliquer des modifications au serveur Git :
Maintenant, le client peut ajouter des commits au testrepo/ référentiel et envoyer les modifications au serveur Git.
$ cd testrepo/$ echo "Bonjour tout le monde" > test.SMS
$ git ajouter .
$ git commit -m 'validation initiale'
[/cc[
[cc lang="bash"]
$ git push origine
Ajout d'un nouveau membre de l'équipe :
Maintenant, disons, bob veut contribuer à la testrepo Dépôt Git.
Il lui suffit de générer une paire de clés SSH et d'envoyer la clé publique au gestionnaire de serveur Git.
$ ssh-keygen
Une fois que le gestionnaire de serveur Git a la clé publique de bob, il peut le télécharger sur le serveur Git et l'ajouter au .ssh/authorized_keys fichier comme suit :
$ cat /tmp/bob-key.pub >> ~/.ssh/authorized_keys
À présent, bob peut cloner le testrepo Dépôt Git du serveur comme suit :
$ git clone [email protected]:~/testrepo
testrepo doit être cloné.
Un nouvel annuaire 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 log
À présent, bob peut faire son propre travail et le commettre. Ensuite, envoyez les modifications au serveur.
$ echo "Hello World 2" >> tester.SMS$ git ajouter .
$ git commit -m 'Message modifié'
$ git push origine
Désormais, d'autres personnes travaillant sur le même référentiel peuvent extraire les modifications comme suit :
$ git pull origine
Il/elle devrait trouver les commits qui bob fait.
Voici donc comment configurer un serveur Git avec SSH sur Ubuntu et l'utiliser. Merci d'avoir lu cet article.