Référentiel accès refusé. accès par clé de déploiement en lecture seule

après avoir cloné avec succès mon repo d'heroku et ajouté une autre télécommande

1/ git clone git@heroku.com:[APP].git
2/ git remote add bitbucket ssh://git@bitbucket.org/[ACCOUNT]/[REPO].git
3/ git push bitbucket master

j'obtiens toujours cette erreur après avoir lancé la ligne (3) ou en utilisant SourceTree

conq: repository access denied. access via a deployment key is read-only.

tout d'abord, je ne comprends pas ce que ce message signifie dans la pratique. Et c'est la honte.

j'ai créé la paire de clés ssh et ajouté à heroku:

ssh-keygen -t rsa 
heroku keys:add ./id_rsa.pub 

j'ai aussi ajouté ma clé dans la section des clés de déploiement BitBucket. Mais quelque chose doit m'échapper. Cette question n'est pas de la paresse, j'ai lu divers documents, y compris des guides de BitBuckets. Mais il n'arrive toujours pas à contourner ce problème.

Ce poste est liée à puis-je importer mon heroku repo git dans bitbuket? et comment?

FAITS SUPPLÉMENTAIRES:

ssh -T hg@bitbucket.org
conq: authenticated via a deploy key.

You can use git or hg to connect to Bitbucket. Shell access is disabled.


$ ssh -v git@bitbucket.org
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/joel/.ssh/config
debug1: Applying options for bitbucket.org
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to bitbucket.org [207.223.240.181] port 22.
debug1: Connection established.
debug1: identity file /Users/joel/.ssh/id_rsa type 1
debug1: identity file /Users/joel/.ssh/id_rsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'bitbucket.org' is known and matches the RSA host key.
debug1: Found key in /Users/joel/.ssh/known_hosts:5
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/joel/.ssh/id_rsa
debug1: Remote: Forced command: conq deploykey:13907
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: read PEM private key done: type RSA
debug1: Remote: Forced command: conq deploykey:13907
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Authentication succeeded (publickey).
Authenticated to bitbucket.org ([207.223.240.181]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LC_CTYPE = UTF-8
PTY allocation request failed on channel 0

on dirait que tout va bien.

238
demandé sur Community 2012-11-09 14:37:00

16 réponses

la première confusion de mon côté concernait l'endroit exact où placer clés SSH dans BitBucket.

Je suis nouveau à BitBucket et je mettais une clé de déploiement qui donne lecture-accès seulement.

alors assurez-vous de configurer votre rsa pub key dans votre BitBucket Account Settings .

cliquez sur votre Bitbucket avatar et sélectionnez gérer le compte . Là, vous pourrez régler SSH Keys .

j'ai simplement supprimé la " clé de déploiement , Je n'en ai pas besoin pour le moment. Et ça a marché

572
répondu zabumba 2015-05-08 11:46:56

maintenant l'option SSH est sous les paramètres de sécurité

cliquez sur votre Avatar -- > paramètres Bitbucket -- > touche SSH -- > ajouter la touche

collez votre clé publique

56
répondu Sathish 2016-08-30 08:28:23
Les clés de déploiement

sont en lecture seule. Pour activer l'accès en écriture, vous devez:

  • " supprimez cette clé de déploiement des paramètres de votre dépôt. De toute façon, vous ne pourrez pas écrire à ce repo avec cette clé.

  • allez à" Avatar - > paramètres - > touches SSH" et ajoutez la même touche

  • maintenant, essayez de pousser pour supprimer la branche

vous avez déjà pu écrire dans des dépôts, mais il s'agit d'un changement dans BitBucket où vous n'êtes plus capable d'écrire avec la clé de déploiement.

12
répondu timhysniu 2017-12-24 20:43:31

Déploiement de la Clé' est uniquement pour l'accès en Lecture Seule. La suite est un bon moyen de travailler par le biais de ce.

  • créer et la clé SSH et l'ajouter à bitbucket (utilisateur Avatar -> Bitbucket Setting-> clés SSH)
  • ~/.SSH / known_hosts
  • ssh-add-D (Supprimer les clés chargés de l'agent SSH)
  • ssh-add ~/.ssh / your_private_key_for_bitbucket
  • ssh git@bitbucket.org -Tv (vérifiez que votre clé est en train de s'habituer à se connecter à bitbucket)
  • git push 'à distance' nom 'nom de la branche'
9
répondu Jerome Anthony 2017-07-29 02:16:58

vous devez d'abord supprimer la clé de déploiement si vous voulez ajouter la même clé sous gérer le compte clé SSH.

8
répondu sent.ror 2013-08-30 06:39:03

TLDR: ssh-add~/.ssh / yourkey

je viens de résoudre ce problème.

et aucune des autres réponses n'a aidé.

j'ai eu un ./ssh/config avec toutes les bonnes choses, aussi une version antérieure du référentiel fonctionne bien (même bitbucket compte, la même clé). Puis j'ai généré un deploy_key, et après cela j'ai créé un nouveau dépôt.

Après cela ne pouvait pas cloner le nouveau repo.

I j'aimerais savoir comment / pourquoi l'agent SSH a tout gâché, mais ajouter la clé l'a résolu. Je veux dire ajouter la clé dans mon Ubuntu local, pas dans bitbucket admin. La commande est juste

    ~/.ssh$ ssh-add myregualrkey

J'espère que ça aidera quelqu'un.

8
répondu Tjunkie 2015-10-28 22:11:29

j'ai eu cela arrive quand j'ai essayé d'utiliser un déploiement clé, car c'est exactement ce que je voulais.

je pouvais me connecter via ssh -T git@bitbucket.org et cela me dirait que j'avais accès au dépôt que je voulais, mais git clone échouerait.

Clearing out ~/.ssh/known_hosts , générant une nouvelle clé via ssh-keygen , en ajoutant cette nouvelle clé à bitbucket, et en la retraçant fixé pour moi.

5
répondu sarink 2014-10-31 06:31:19

vous devez ajouter votre clé à votre profil et pas à un dépôt spécifique. suivre cette: https://community.atlassian.com/t5/Bitbucket-questions/How-do-I-add-an-SSH-key-as-opposed-to-a-deployment-keys/qaq-p/413373

5
répondu Tomer 2018-09-27 05:39:25

J'ai récemment fait face à la même question. J'ai eu l'erreur suivante:

accès au dépôt refusé. l'accès via une clé de déploiement est en lecture seule.

vous pouvez avoir deux types de clés SSH:

  1. pour l'intégralité de votre compte qui fonctionnera pour tous les dépôts
  2. par clé SSH qui ne peut être utilisé que pour référentiel spécifique.

j'ai simplement retiré ma clé SSH de dépôt et ajouté une nouvelle clé SSH à mon compte et cela a bien fonctionné.

j'espère que ça aidera quelqu'un. Cheers

3
répondu Yuness Mehdian 2018-08-10 10:30:01

Suit:

  1. créer des clés SSH sur le serveur source

    ssh-keygen

  2. Chat et de la copie id_rsa.pub situé sous ~./ répertoire ssh

  3. Aller à Bitbucket, si vous avez déjà mis les clés d'accès pour le dépôt(s), puis supprimer la clé publique(s)
  4. Aller à Bitbucket avatar> Bitbucket paramètres> les Clés SSH (en vertu de Sécurité, volet de gauche)> cliquez sur "Ajouter des clés" > collez la clé publique.
  5. vérifiez si cela fonctionne en exécutant la commande ci-dessous sur le serveur source

    git remote show origin

  6. pour fetch et push à partir du serveur source, si le protocole est 'https' alors vous devez le changer en 'git+ssh' en exécutant la commande

    git remote set-url origin git+ssh://<bitbucketaccount>@bitbucket.org/<accountname>/repo.git

  7. contrôle si vous pouvez faire pression sur le repo.

fait!

2
répondu rahul darga 2018-07-22 03:22:36

je voudrais souligner à nouveau ce qui suit:

  • vous auriez pu ajouter la clé SSH à votre dépôt (par exemple ExampleRepo), mais ce n'est pas là que la clé SSH va .
  • il est destiné à aller dans votre profil . C'est le petit avatar sur le coin inférieur gauche de l'écran. ici, vous trouverez un différent place pour mettre vos clés SSH (sous Sécurité) > puis vous ajoutez la clé ici à la place.
  • si vous avez accidentellement placé votre clé SSH dans le dépôt (par opposition à votre compte), supprimez celle du dépôt.

m'a pris du temps à réaliser, même après avoir lu les réponses ici, il n'a pas cliqué.

2
répondu David Liu 2018-09-24 09:32:37

j'ai eu le même problème Kabir Sarin avait. La solution était de cloner le repo via SSH, au lieu d'utiliser l'URL https. c'est donc ce qui m'a aidé, et j'espère d'autres:

    git clone git@bitbucket.org:{accountName}/{repoName}.git
1
répondu Lippai Zoltan 2015-03-22 21:52:02

Tout ce dont vous avez besoin-ajouter une autre clé et utilisez-la.

comme j'ai trouvé la première clé - toujours la clé de déploiement.

0
répondu Victor Perov 2014-09-16 11:00:19

parfois, cela ne fonctionne pas parce que vous définissez manuellement une autre clé pour bitbucket dans ~/.ssh/config .

0
répondu sean 2016-01-26 11:47:07

processus en deux étapes pour être en mesure de pousser la traction

Step1: Générer la clé SSH(publique et privée) sur mac



Etape 2: Mettre la clé privée dans mac et la clé publique dans le site git



ci-dessous les étapes détaillées sont pour les utilisateurs de mac

Étape 1: Génération de clés

  1. (assurez-vous d'avoir git installé) https://git-scm.com/download/mac
  2. ouvrir un terminal et tapez ssh-keygen il vous invite à entrer dans l'emplacement de stockage de la clé, vous pouvez taper /Users/[machinename]/.ssh/[keyname]
  3. ensuite, il demandera passphrase, vous pouvez le laisser en blanc en appuyant sur enter ou entrer un mot-clé pour être entré à nouveau à l'invite suivante
  4. cela aura créé deux clés pour vous, public et privé, avec nom [keyname] et [keyname].pub

Etape 2:appuyez sur les touches à des endroits appropriés[mac et comptes à distance je.e Github, bitbucket, gitlab, etc ]

  1. Type ssh-add -K ~/.ssh/[keyname] dans le terminal pour ajouter votre clé privée pour le mac
  2. Type pbcopy < ~/.ssh/[keyname].pub pour copier la clé publique dans le presse-papiers
  3. ouvrir les paramètres de votre compte respectif git site web et aller à ajouter clé, il coller la clé publique copié ci-dessus

fait, maintenant vous pouvez pousser tirer.

0
répondu Akshay Vijay Jain 2018-07-06 05:22:41

pour cette erreur : conq: accès au dépôt refusé. l'accès via une clé de déploiement est en lecture seule.

je change le nom de ma clé, exemple

cd /home/try/.ssh/
mv try id_rsa
mv try.pub id_rsa.pub

je travaille sur ma propre clé sur bitbucket

-4
répondu Elron 2016-08-24 22:14:47