Git

Configurer Git Server avec SSH sur Ubuntu

Configurer Git Server 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'êtes pas obligé d'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 packages APT avec la commande suivante :

$ sudo apt mise à jour

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 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 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 a

Comme 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 . Vous devrez le faire une fois, seulement la première fois.

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.

Meilleures distributions Linux pour les jeux en 2021
Le système d'exploitation Linux a parcouru un long chemin depuis son apparence originale, simple et basée sur le serveur. Ce système d'exploitation s'...
Comment capturer et diffuser votre session de jeu sur Linux
Dans le passé, jouer à des jeux n'était considéré qu'un passe-temps, mais avec le temps, l'industrie du jeu a connu une croissance énorme en termes de...
Meilleurs jeux à jouer avec le suivi des mains
Oculus Quest a récemment introduit l'idée géniale du suivi manuel sans contrôleurs. Avec un nombre toujours croissant de jeux et d'activités qui exécu...