[Git] Connexion à Framagit depuis un hébergement mutualisé


#1

Hello,

Jusque là, j’ai toujours utilisé Git comme suit : MON PC#1 <(pull/push)> FRAMAGIT <(pull/push)> MON PC#2. Autant dire que je suis dans une configuration très basique, d’autant que c’est mon IDE qui se charge de tout.

Maintenant que mon projet se concrétise, j’aimerais aller plus loin et également avoir une copie test/dev sur un sous-domaine, en ligne. J’aimerais, donc pouvoir faire un ‘git clone’ puis du ‘git pull’ à l’avenir, soit : MON PC#1 <(pull/push)> FRAMAGIT (pull)> MON SITE EN SOUS-DOMAINE

Je crois que j’ai pu déjà (bien ?) commencer en faisant ceci sur le serveur distant via SSH :

git init
git remote add origin git@framagit.org:MyName/MyProject.git

Ça semblait bien enregistré…

git remote -v

Là où ça bug, c’est l’authentification et cette histoire de clés (j’ai carrément du mal avec ça)…
Faut-il créer un fichier config (que je ne vois nul part) pour intégrer automatiquement ma clé ou quelque chose du genre ? Je suis dans la même problématique qu’ici : https://forum.framasoft.org/viewtopic.php?f=11&t=39925

Je suis complètement largué, un peu d’aide serait la bienvenue ! Une piste ?
Je dois dire que la doc de git-scm n’est d’aucune aide pour un débutant, c’est du chinois.

Merci d’avance !


#2

Peux-tu montrer le message d’erreur?

Assez probablement, l’erreur vient du fait que ta clé ssh publique n’est pas ajoutée à ton compte sur framagit. Tu as plusieurs solutions : soit copier la clé ssh publique de ton ordinateur à ton serveur puis ajouter une entrée dédiée au serveur framagit.org dans ton fichier de config ssh utilisateur où tu précisera le chemin de la clé nouvellement ajoutée ; soit ajouter la clé ssh publique du serveur (préalablement générée via ssh-keygen à défaut d’en avoir une) à ton compte sur framagit.org ; soit utiliser l’identification HTTP basique en modifiant ta remote pour utiliser git/https.

En effet tu as plusieurs moyens d’accéder à une remote git - via git/ssh ou git/https, si la remote sert les deux protocoles. C’est le cas de framagit.org, donc tu peux choisir entre les deux. En spécifiant git@framagit.org, tu fais comprendre à git qu’il faut joindre le serveur via ssh, d’où l’erreur j’imagine. Dans le cas où tu utilise https, le serveur te demande tes identifiants, ce qui est plus familier j’imagine.

note: le fichier de configuration utilisateur pour ssh se trouve généralement dans ~/.ssh/config.
note 2: la doc de git-scm est une doc canonique, pas un tutoriel. C’est clairement pas la panacée pour commencer. Le livre associé est un peu plus abordable, mais c’est loin d’être le plus simple encore. Il y plein de manière d’aborder git, et sûrement autant de tutoriels à trouver sur internet.


#3

Quelques points importants :

  1. Il faut créer une clef ssh sur ton serveur (créée dans ~/.ssh/ en général)
  2. Il faut créer une nouvelle “clé de déploiement” dans ton projet : Paramètres / Dépôt / Delpoy Keys
  3. Donne un nom quelconque à ta clef
  4. Copie le contenu du fichier id_rsa.pub (la clef publique) de ton serveur dans la zone Key du formulaire
  5. Une fois cela fait, tu devrais pouvoir, sans problème, faire un “git clone” depuis ton serveur

Au pire, si tout ceci ne fonctionne pas et que ton serveur ne souhaite faire que du pull, passe par https lors du clone.