Source de l'Arbre Clé Publique SSH Refusé
Je suis en train de travailler sur un projet dans un repository privé sur https://www.bitbucket.com.
Je code en local, puis de mise en scène, de publier et de pousser la mise à jour vie BitBucket Windows client de Git, Sourcetree.
Après cela, je suis en tirant la fichiers à partir d'une distance partagé serveur, ce qui nécessite l'authentification SSH.
J'ai essayé ce qui suit pour connecter le repo git avec le compte bitbucket:
- Lancé l'embedded Sourcetree agent SSH (Concours)
- Ajouté mon .ppk (Mastic Clé Privée) pour le Concours de l'aide de ma phrase
- Ouvert la SourceTree Terminal à l'emplacement de mon projet, nous allons l'appeler
C:/Project
. - Utilisé
git init
pour initialiser le dépôt. - Utilisé
git push -u origin --all
dans le but de pousser le repo de mon ordinateur à BitBucket. - Eu cette erreur:
Permission denied (publickey).
- Essayé de voir si je peux
ssh -Tv [email protected]
- Encore,Permission denied
.
Je suis à essayer de comprendre exactement ce qui s'est mal passé - il a trouvé ma clé SSH à tous? Est la clé n'est pas chargé dans un endroit spécifique?
Remarque: j'ai chargé la clé publique dans mon profil sur BitBucket.
Vous devez vous connecter pour publier un commentaire.
À qui ont le même problème sur Mac avec Sierra. La Solution serait d'ajouter la clé privée de l'agent SSH via:
Il semble que l'identité[id_rsa] ne persistent par l'agent SSH.
Noter que ce n'est pas une solution permanente .. Vous auriez besoin de le faire chaque fois que vous cloner un nouveau référentiel.Au moins, pas besoin de fournir de la clé privée pour chaque pousser à distance.
-------- Mise à jour 28.Sep.2017 --------
Solution permanente ( Sierra):
Suit:
1 - assurez-vous que vous avez un ssh-agent en arrière-plan avant de faire quoi que ce soit.
Pour vérifier si ssh-agent est en cours d'exécution par:
Cette commande renvoie le PID (ProcessID) de ce processus, s'il est en cours d'exécution.
Si vous voyez une valeur.. Passez à l'Étape#2. si pas, alors vous devez exécuter l'agent en arrière-plan par:
2 - Edition
~/.ssh/config
(à Créer si elle n'existe pas en tant quesu
):3 - ajoutez Alors que la clé de l'agent ( ce qui serait une fois ):
Que c'est.
Fait Étape#2 est la clé. Je veux juste fournir un guide complet.
J'espère que peut vous aider.'.
J'ai besoin de modifier ces paramètres SourceTree:
ssh-add /path/to/your/private/key
qui va ajouter à votre liste de clés disponibles sur votre système. SourceTree vérifiera ensuite il quand vous essayez de le pousser.Je sais que c'est résolu, mais d'ajouter de la accepté de répondre, vous n'avez pas besoin de Git Bash pour que cela fonctionne. Comme Cupcake dit, il est vrai que le Mastic met
.ppk
fichiers pour les clés privées, qui ne fonctionne pas en dehors de l'habituel Mastic/Concours de contexte.C'est parce que le terminal attend par défaut pour trouver un fichier nommé
id_rsa
dans~/.ssh
et le Mastic ne génère pas que par défaut. Git Bash estssh-keygen
fait, c'est pourquoi Tom Granot la solution fonctionne.Vous POUVEZ, cependant, par le biais de la pâte générateur de clé, l'exportation, exactement le même fichier par le biais de la
Conversions/Export OpenSSH Key...
option dans le menu. Juste être sûr de le nommerid_rsa
et d'avoir de s'asseoir à côté de votreid_rsa.pub
fichier, et tout devrait fonctionner correctement.Bien j'ai trouvé la solution après beaucoup d'essais et d'erreurs.
Apparemment, à l'aide de MASTIC du keygen et le stockage de la nouvelle clé publique dans mon
.ssh
dossier ne fonctionne pas.Cependant, l'utilisation de
ssh-keygen
DANS GIT BASH et puis essayez de vous connecter en utilisant le nouveau bi-clé, fonctionne très bien.La curiosité, bien plus que n'importe quoi - j'aimerais savoir pourquoi c'est le cas.
.ppk
pour les clés privées, qui semble être la seule à travailler avec du Mastic.Ce qui m'est arrivé après une mise à jour de mon Sourcetree sur mon Mac.
Ce qui a fonctionné pour moi a été tout simplement supprimer tout ce qui dans le
~/.ssh/
dossier, à l'exception de la.config
et laknown_hosts
dossiers. Ensuite, il suffit d'aller à sourcetree sous préférences, supprimer votre compte github, ajoutez de nouveau le profil de nouveau après la suppression de tous les.ssh
de clés publiques et privées et sourcetree devrait ajouter de nouveau les touches localement et à GitHub