Outils pour utilisateurs

Outils du site


divers:git:depots_sur_serveur_prive

Utiliser des dépôts distants sur son serveur privé

Sous Linux

Générer une clé SSH

Si on n'en a pas encore une, créer une paire de clés avec cette commande :

ssh-keygen -t rsa -b 2048 -C "mon-adresse@email"
  • Chemin de la sauvegarde : accepter le chemin et le nom du fichier proposés.
  • passphrase : ne pas mettre de passphrase sinon il faudra l'entrer à chaque fois qu'on voudra utiliser cette paire de clés.

Deux fichiers sont créés :

/home/marc/.ssh/id_rsa     # clé privée
/home/marc/.ssh/id_rsa.pub # clé publique

Envoyer la clé publique sur le serveur

ssh-copy-id marc@SERVEUR

Entrer le mot de passe de cet utilisateur sur le serveur.

Tester la connexion

ssh marc@SERVEUR

Normalement l'accès est maintenant autorisé sans entrer de mot de passe.

Sous Windows

Source: https://support.atlassian.com/bitbucket-cloud/docs/set-up-an-ssh-key/

Sous Windows je n'ai pas pris la peine de générer une clé SSH, je me contente de taper le mot de passe à chaque push ou pull.

Dans Git GUI j'ajoute une remote que je nomme cramnurbel et dont l'emplacement est par exemple ssh://git@cramnurbel.net/home/git/projet1.git

…à suivre…

Créer l'utilisateur GIT sur le serveur

Sur le serveur :

Créer un utilisateur git et lui attribuer un mot de passe :

sudo adduser git

Sur la machine locale :

Tester la connexion SSH de l'utilisateur git (le mot de passe sera demandé) :

ssh git@SERVEUR

Envoyer la clé RSA sur le serveur dans le compte de l'utilisateur git :

cat ~/.ssh/id_rsa.pub | ssh git@SERVEUR "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Se connecter à nouveau en SSH avec l'utilisateur git (le mot de passe ne sera plus demandé) :

ssh git@SERVEUR

Créer un nouveau dépôt pour un projet

Sur le serveur en tant qu'utilisateur GIT :

Créer un dossier pour un projet :

mkdir -p /home/git/test1.git
cd /home/git/test1.git

Initialiser un dépôt vide dans ce dossier :

git init --bare

Sur la machine locale :

Créer le dossier du projet s'il n'existe pas encore, et initialiser le dépôt :

mkdir -p /home/marc/progs/test1
cd /home/marc/progs/test1
git init
git add .
git commit -m "Initial commit"

Ajouter le dépôt distant :

git remote add origin ssh://git@SERVEUR/home/git/test1.git

Faire un push vers le dépôt distant :

git push origin master

Ensuite pour récupérer le projet sur une autre machine, utiliser git clone :

git clone git@SERVEUR:/home/git/test1.git
divers/git/depots_sur_serveur_prive.txt · Dernière modification: 2021/07/04 14:54 par marclebrun