J'ai téléchargé mes clés SSH~/.ssh/id_rsa.pub
sur Bitbucket comme expliqué , mais Git me demande toujours mon mot de passe à chaque opération (comme git pull
). Ai-je oublié quelque chose?
C'est un dépôt privé (fork du dépôt privé d'une autre personne) et je l'ai cloné comme ceci:
git clone [email protected]:Nicolas_Raoul/therepo.git
Voici mon local .git/config
:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://[email protected]/Nicolas_Raoul/therepo.git
[branch "master"]
remote = origin
merge = refs/heads/master
Dans le même environnement avec la même clé publique, Git sur Github fonctionne très bien.
.ssh
est rwx------
, .ssh/id_rsa
est -rw-------
, .ssh/id_rsa.pub
est-rw-r--r--
.git/config
par[email protected]:Nicolas_Raoul/therepo.git
et maintenant cela fonctionne!ssh://[email protected]/userName/repoName.git
- sansssh://
préfixe, cela n'a pas fonctionné.Comme expliqué ici , si vous clonez avec l' URL SSH , vous n'avez pas besoin de saisir le nom d'utilisateur / mot de passe chaque fois que vous appuyez / tirez. Vérifiez la réponse ci-dessus par @manojlds
Mais si vous souhaitez cloner avec HTTPS et que vous souhaitez éviter de saisir un nom d'utilisateur / mot de passe à chaque fois, vous pouvez stocker les informations d'identification dans le cache avec la commande ci-dessous:
git config --global credential.helper 'cache --timeout 3600'
où 3600 (secondes) signifie 1 heure, vous pouvez le changer selon vos besoins.
la source
manecs-MBP:LocationTracker manec$ git remote -v origin https://[email protected]/Vysh1/locationtracker.git (fetch) origin https://[email protected]/Vysh1/locationtracker.git (push)
Son déjà répondu ci-dessus. Je vais résumer les étapes à vérifier ci-dessus.
exécuter
git remote -v
dans le répertoire du projet. Si la sortie affiche une URL distante commençant par,https://abc
vous aurez peut-être besoin d'un mot de passe à chaque fois.Donc, pour changer l'URL distante, exécutez
git remote set-url origin {ssh remote url address starts with mostly [email protected]:}
.Exécutez maintenant
git remote -v
pour vérifier l'URL distante modifiée.Reportez-vous: https://help.github.com/articles/changing-a-remote-s-url/
la source
Bonjour les Googleurs du futur.
Sur MacOS> = High Sierra, la clé SSH n'est plus enregistrée dans KeyChain pour des raisons .
L'utilisation
ssh-add -K
ne survit plus aux redémarrages.Voici 3 solutions possibles .
J'ai utilisé la première méthode avec succès. J'ai créé un fichier appelé
config
dans~/.ssh
:la source
config
fichier/.ssh
fonctionne parfaitement!cd ~/.ssh
+ls
+nano config
(le fichier était déjà créé) + ajouter du code dans la réponse de Vaiden. Puis contrôlez X + Y pour enregistrer le fichier.Dans le cas d'une requête HTTP, il est également et alternativement possible de coller les informations d'identification (avec mot de passe) directement dans l'url:
Cela vous évitera d'avoir à redonner vos informations d'identification à chaque fois. Modifiez simplement votre .git / config (l'url).
la source
$%
777
: arrêter, réfléchir, rechercher, comprendre, puis le faire correctement.Aucune de ces réponses ne m'a aidé, il s'est avéré que mon problème était légèrement différent. C'était ssh qui me demandait mon mot de passe à chaque fois, avant d'envoyer la clé. Donc, ce que je devais faire était de lier mon mot de passe avec cette commande:
Il vous demandera ensuite votre mot de passe et le stockera. Cela pourrait être la solution que vous recherchez si chaque fois que vous êtes invité à entrer un mot de passe, il est indiqué
Plus d'infos ici
REMARQUE: j'ai utilisé cela avec succès sur ma machine mac, mais comme @Rob Kwasowski l'a souligné ci-dessous, l'
K
option majuscules est unique à mac. Sinon sur mac, vous devrez utiliser des minusculesk
(ce qui fonctionne probablement aussi pour mac mais je n'ai pas testé).la source
k
:ssh-add -k ~/.ssh/id_rsa
k
et non en majuscules car ces options sont sensibles à la casse.-K
est spécifique à Mac: help.github.com/en/articles/error-ssh-add-illegal-option----kÉtape 1: Installez git-credential-winstore
https://confluence.atlassian.com/bitbucketserver/permanently-authenticating-with-git-repositories-776639846.html
Étape 2: git config --global credential.helper 'cache --timeout 3600'
Cela stockera votre mot de passe pendant 1 heure
la source
Step 1
c'est pourWindows
etStep 2
c'est pourLinux
mais vous avez oublié de le mentionner correctement.Ce qui suit suppose un accès en ligne de commande via iTerm / Terminal à bitbucket.
Pour MacOS Sierra 10.12.5, mon système a manifesté un problème équivalent: demander ma phrase de passe SSH à chaque connexion à bitbucket.
Le problème est lié aux mises à jour d'OpenSSH dans macOS 10.12.2, qui sont décrites ici dans la note technique TN2449 .
Vous voudrez peut-être personnaliser votre solution, mais ce qui suit fonctionnera une fois ajouté à votre fichier ~ / .ssh / config:
Pour plus d'informations sur les configurations ssh, consultez les pages de manuel de ssh_config:
Une autre chose: il y a une bonne description du super - utilisateur ici qui traite de ce problème et de diverses solutions en fonction de vos besoins et de votre configuration.
la source
J'ai cloné le référentiel avec une URL HTTPS au lieu de l'URL SSH, donc même après avoir ajouté la clé SSH, il me demandait un mot de passe sur Bash Shell.
J'ai juste édité le
./.git/config
fichier et changé la valeur de laurl
variable en remplaçant simplement lehttps://
àssh://
Par exemple
Changé en:
la source
Vous devrez peut-être vérifier votre fichier d'identités SSH. Vous pouvez guider BitBucket pour qu'il examine une clé privée différente / incorrecte de la clé publique équivalente que vous avez enregistrée sur BitBucket.
Vérifiez-le avec
tail ~/.ssh/config
- vous verrez quelque chose de similaire à:N'oubliez pas que l'ajout d'identités supplémentaires (comme le travail et la maison) peut être effectué avec la
ssh-add
commande, par exemple:Une fois que vous avez confirmé quelle clé privée est examinée localement, vous pouvez alors prendre votre équivalent public, dans ce cas:
Et collez ce chiffre sur BitBucket. Vos push git seront désormais autorisés (à condition que vous utilisiez le clone SSH comme l'ont souligné les réponses ci-dessus) sans mot de passe, car votre appareil est un appareil convivial reconnu.
Espérons que cela aide à clarifier les choses pour quelqu'un.
la source
Avec moi, bien que j'aie exécuté 'git clone ssh: //[email protected]: 7999 / projName / projA.git', on me demandait toujours le mot de passe pour ce nouveau dépôt que j'ai cloné, donc en comparant son .git / config vers d'autres dépôts qui fonctionnent, il s'est avéré être l'url sous la section [remote "origin"], il a été défini sur le chemin ssh ci-dessus pour le nouveau dépôt, mais a été défini sur https: xxx pour celui qui fonctionne .
la source
J'avais d'autres bizarreries à me connecter. Je suis tombé sur quelque chose qui semblait totalement stupide mais qui fonctionnait dans mon cas. Accédez simplement au trousseau de MacOS. Recherchez l'icône de verrouillage de connexion dans la barre latérale. Cliquez dessus pour vous déconnecter, puis cliquez pour vous connecter. Cela semble stupide mais cela a résolu mes problèmes. Ça vaut le coup.
la source