Ne pas entre son mot de passe lors d'un git pull

a marqué ce sujet comme résolu.

Bonjour

Lorsque je réalise un git pull sur mon projet, sur gitlab.com, je dois à chaque fois rentrer mon mot de passe.

Normal, me direz-vous. Mais n’existe-t-il pas une solution alternative pour éviter de rentrer à chaque fois celui-ci ?

Cordialement

+0 -0

Salut,

Tu peux ajouter une clef SSH dans tes paramètres de profil et utiliser gît clone ssh plutôt que le https proposé par défaut. (Vu que tu as déjà cloné tu peux utiliser git remote origin set-url <chemin_ssh> pour le mettre à jour).

Salut,

Tu peux ajouter une clef SSH dans tes paramètres de profil et utiliser gît clone ssh plutôt que le https proposé par défaut. (Vu que tu as déjà cloné tu peux utiliser git remote origin set-url <chemin_ssh> pour le mettre à jour).

FantasMaths

J’ai eu une erreur, j’ai fait :

/var/www# git remote origin set-url git@gitlab.com:User/ot.git
error: Unknown subcommand: origin

J’ai déjà ajouté ma clé SSH à GitLab pourtant.

+0 -0

Le bon ordre est

git remote set-url origin ...

gasche

C’est mieux en effet, mais lorsque je fais mon git push, il me demande toujours mon mot de passe.

Pourtant, j’ai bien ma clé SSH dans mon dossier sur le serveur, ainsi que dans mon compte GitLab.

+0 -0

Normalement, maintenant il te demande ta passphrase pour ta clé SSH.

Si c’est bien le cas il faut utiliser ssh-agent pour n’avoir à entrer ton mot de passe qu’une seule fois par session de terminal.

Sur Ubuntu par exemple, tu entres d’abord :

eval $(ssh-agent)

Cela lance l’agent ssh. Ensuite il faut ajouter ta clé ssh avec :

ssh-add

Cela te demande d’entrer ton mot de passe et tu n’aura plus à le faire pour le reste de ta session dans ce terminal.

Normalement, maintenant il te demande ta passphrase pour ta clé SSH.

Si c’est bien le cas il faut utiliser ssh-agent pour n’avoir à entrer ton mot de passe qu’une seule fois par session de terminal.

Sur Ubuntu par exemple, tu entres d’abord :

eval $(ssh-agent)

Cela lance l’agent ssh. Ensuite il faut ajouter ta clé ssh avec :

ssh-add

Cela te demande d’entrer ton mot de passe et tu n’aura plus à le faire pour le reste de ta session dans ce terminal.

Gautier

En fait, c’est ce que je fais, mais moi je ne veux plus rentrer de mot de passe justement.

+0 -0

Je ne pense pas qu’il te demande de passphrase, tu peux copier la ligne où il te demande de donner ton mot de passe ? (Pour savoir si c’est gitlab.com ou le client ssh)

FantasMaths

Donc je fais ça :

git add .
git commit -m "Commit"
git push

Il me renvoie :

root@hostname:/var/www# git push
Enter passphrase for key '/root/.ssh/id_ed25519':
+0 -0

Au temps pour moi c’est bien la passphrase. L’idée d’une passphrase avec une clef ssh c’est de devoir la rentrer à chaque fois. Du coup dans ton cas le plus simple est de te créer une clef ssh sans passphrase et de te servir de celle là.

Une clé sans passphrase, c’est pas terrible. Par contre, utiliser un porte clé (comme gnome-keychain ou autre) permet de déverouiller les clés SSH en même temps que ta session.

+1 -0

ssh-add devrait aussi persister l’autentification normalement (si le ssh-agent bien été lancé), et ne plus redemander le mot de passe la deuxième, troisième fois, etc., tant que c’est toujours la même session utilisateur. Il me semble que la grande majorité des distributions aujourd’hui utilisent un ssh-agent ou un keyring automatiquement, donc je suis surpris que ça ne soit pas le comportement par défaut ici.

ssh-add devrait aussi persister l’autentification normalement (si le ssh-agent bien été lancé), et ne plus redemander le mot de passe la deuxième, troisième fois, etc., tant que c’est toujours la même session utilisateur. Il me semble que la grande majorité des distributions aujourd’hui utilisent un ssh-agent ou un keyring automatiquement, donc je suis surpris que ça ne soit pas le comportement par défaut ici.

gasche

Il ne me demande pas le mot de passe les fois suivantes.

Le probleme est qu’il me le demande à chaque session.

Donc la solution serai d’utiliser une clé sans passe-phrase ?

+0 -0

Donc la solution serai d’utiliser une clé sans passe-phrase ?

Non.

Une clé sans passphrase, c’est pas terrible. Par contre, utiliser un porte clé (comme gnome-keychain ou autre) permet de déverouiller les clés SSH en même temps que ta session.

+0 -0

Donc la solution serai d’utiliser une clé sans passe-phrase ?

Tu es sûr que tu veux vraiment faire ça ?

  1. Si tu ne tapes plus jamais ton mot de passe, tu as de fortes chances de l’oublier.
  2. Une clé sans phrase de passe, ça veut dire que n’importe qui ayant accès à tes données peut récupérer ta clé secrète et donc avoir accès ouvert à tous les endroits qui ont enregistré ta clé SSH. C’est assez moyen niveau sécurité. Ce n’est sans doute pas très important pour toi aujourd’hui, mais il vaut peut-être mieux adopter de bonnes pratiques dès le début, pour les avoir déjà quand ça devient important.

Si tu ne tapes plus jamais ton mot de passe, tu as de fortes chances de l’oublier.

J’ai du mal à voir comment on peut sortir ce genre d’argument en 2019. Je ne tape jamais mes pass-phrases, elles sont enregistrées dans mon agent SSH déverouillé en même temps que ma session. De toute façon, les retenir serait fastidieu (ce sont des chaines de 40 caractères aléatoires dans mon cas) et inutile (elles sont au chaud dans un gestionnaire de mots de passe). Retenir et taper à longeur de journée une passe-phrase de clé SSH, c’est du masochisme (ou pire, c’est se tenter de mettre un mdp court qu’on utilise déjà ailleurs).

+1 -0

Oui enfin dire ça ne fait que repousser le problème.

  • Si jamais tu débloques la clé au début de la session, il y a sans doute un mot de passe de session (au passage: et ça lie la sécurité de la clé SSH à celle de l’environnement de bureau, moi personellement je préfère éviter; même les vendeurs de gestionnaires de mot de passe font des erreurs, alors je ne fais pas vraiment confiance aux développeurs GNOME pour les gérer correctement).

  • Il faut bien entrer le mot de passe de ton gestionnaire de mot de passe de temps en temps, ou alors tu risques de l’oublier et d’être tout aussi embêté.

Dans tous les cas un workflow où tu ne veux jamais taper de mot de passe n’est pas à conseiller pour la sécurité.

Pour le premier point, si quelqu’un arrive à se logger sur ma machine, j’ai de plus gros problèmes que l’accès à mon compte github par clé SSH (de toute façon je suis aussi loggé par le navigateur).

Pour le deuxième point, retenir un seul mdp de gestionnaire de mot de passe que l’on utilise tous les jours est sacrément plus simple (donc on peut se permettre qu’il soit long, compliqué et unique) que retenir tous les mdp de toutes ses clés SSH dont certaines sont utilisées quelque fois par an seulement…

Donc non, ça ne "repousse" pas le problème, ça le change complètement.

+3 -0

Je retiens pas mal de mot de passe / passe-phrase les plus importants.

Celui de SSH, est dans ma tête, mais il est vraiment long (72 car.), donc à chaque fois je dois le taper, c’est relou :P

Bon, au final, je vais rester comme je suis avec clé ssh + passe-phrase.

Merci pour vos conseils.

+0 -0

Je retiens pas mal de mot de passe / passe-phrase les plus importants.

Celui de SSH, est dans ma tête, mais il est vraiment long (72 car.), donc à chaque fois je dois le taper, c’est relou :P

Bon, au final, je vais rester comme je suis avec clé ssh + passe-phrase.

Merci pour vos conseils.

Machou

Juste la premiere fois, après il est dans ton ssh-agent.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte