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 package APT avec la commande suivante:
$ sudo apt mise à jour
Le cache du référentiel de package APT doit être mis à jour.
Maintenant, installez OpenSSH Server et Git avec la commande suivante:
$ sudo apt install openssh-server git
Maintenant, appuyez sur Y Et 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 référentiels Git seront sauvés dans le répertoire domestique du git utilisateur / Home / Git.
Maintenant, connectez-vous comme le git Utilisateur avec la commande suivante:
$ sudo su - git
Maintenant, créez un nouveau répertoire .ssh avec la commande suivante:
$ mkdir .ssh
Maintenant, permettez uniquement git Utilisateur à lire, écrire, les autorisations exec sur le répertoire .ssh / comme suit:
$ chmod 700 .ssh /
Comme vous pouvez le voir, le git L'utilisateur a uniquement lu (r), écrire (w), exécuter (x) les autorisations sur le .ssh / annuaire.
$ ls -ld .ssh /
Maintenant, créez un nouveau fichier vide .SSH / AUTORISED_KEYS comme suit:
$ touche .SSH / AUTORISED_KEYS
Autoriser la lecture et l'écriture dans le fichier à partir du git Utilisateur comme suit:
$ chmod 600 .SSH / AUTORISED_KEYS
Comme vous pouvez le voir, seul le git L'utilisateur a lu (r) et écrire (w) les autorisations au fichier .SSH / AUTORISED_KEYS.
Dans le .SSH / AUTORISED_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 référentiels 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 public-privé comme suit:
$ ssh-keygen
Presse .
Presse .
Presse .
Presse .
Maintenant, le client peut trouver sa clé publique comme suit:
$ cat ~ /.ssh / id_rsa.pub
La clé publique du client doit être imprimée. Maintenant, le client peut envoyer cette clé publique au gestionnaire (qui gère le serveur GIT). Le gestionnaire peut ensuite 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 Git Server Manager. Le gestionnaire a téléchargé la clé publique pour / tmp / shovon-key.pub fichier sur le serveur GIT.
Maintenant, le Git Server Manager peut ajouter la clé publique du client comme suit:
$ cat / tmp / shovon-key.pub >> ~ /.SSH / AUTORISED_KEYS
Maintenant le .SSH / AUTORISED_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 Git Server Manager doit créer un référentiel sur le serveur. Ensuite, les clients peuvent se cloner, pousser / tirer du référentiel.
Maintenant, créez un nouveau référentiel git vide testrepo sur le serveur GIT comme suit:
$ git init - bare testrepo
Maintenant, le client n'a besoin que de connaître l'adresse IP du serveur GIT afin d'accéder au testrepo Référentiel GIT.
Le Git Server Manager 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 responsable du serveur peut le dire aux clients qui travailleront sur le projet.
Clonage du référentiel GIT depuis le serveur:
Une fois que le client connaît l'adresse IP et le nom du référentiel Git, il peut le cloner à son ordinateur comme suit:
$ git clone git @ 192.168.21.185: ~ /> TestRepo
Maintenant, tapez Oui et presser . Vous aurez besoin de le faire une fois, seulement la première fois.
Le testrepo Le référentiel GIT doit être cloné à partir du serveur.
Un nouveau répertoire testrepo devrait être créé.
Apporter des modifications et pousser les modifications au serveur GIT:
Maintenant, le client peut ajouter des commits au testRepo / référentiel et pousser les modifications au serveur GIT.
$ cd testrepo /
$ Echo "Hello World"> Test.SMS
$ git add .
$ git commit -m 'initial commit'
[/ cc [
[cc lang = "bash"]
$ git push origine
Ajout d'un nouveau membre de l'équipe:
Maintenant, disons, bob veut contribuer au testrepo Référentiel GIT.
Tout ce qu'il a à faire est de générer une paire de clés SSH et d'envoyer la clé publique au Git Server Manager.
$ ssh-keygen
Une fois que le Git Server Manager a la clé publique de bob, Il peut le télécharger sur le serveur GIT et l'ajouter au .SSH / AUTORISED_KEYS Fichier comme suit:
$ cat / tmp / bob-key.pub >> ~ /.SSH / AUTORISED_KEYS
Maintenant, bob peut cloner le testrepo Référentiel GIT du serveur comme suit:
$ git clone git @ 192.168.21.185: ~ / TestRepo
testrepo devrait être cloné.
Un nouveau répertoire 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 journal
Maintenant, bob peut faire son propre travail et le commettre. Ensuite, poussez les modifications au serveur.
$ echo "Hello World 2" >> Test.SMS
$ git add .
$ git commit -m 'Message modifié'
$ git push origine
Maintenant, d'autres personnes travaillant sur le même référentiel peuvent tirer les changements comme suit:
$ git till Origin
Il / elle devrait trouver les commits qui bob fait.
C'est donc ainsi que vous configurez un serveur Git avec SSH sur Ubuntu et l'utilisez. Merci d'avoir lu cet article.