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.
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é
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
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.
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'
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.
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.
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.
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
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:
- pour l'intégralité de votre compte qui fonctionnera pour tous les dépôts
- 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
Suit:
-
créer des clés SSH sur le serveur source
ssh-keygen
-
Chat et de la copie id_rsa.pub situé sous ~./ répertoire ssh
- 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)
- 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.
-
vérifiez si cela fonctionne en exécutant la commande ci-dessous sur le serveur source
git remote show origin
-
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
-
contrôle si vous pouvez faire pression sur le repo.
fait!
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é.
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
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.
parfois, cela ne fonctionne pas parce que vous définissez manuellement une autre clé pour bitbucket dans ~/.ssh/config
.
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
- (assurez-vous d'avoir git installé) https://git-scm.com/download/mac
- 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]
- 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
- 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 ]
- Type
ssh-add -K ~/.ssh/[keyname]
dans le terminal pour ajouter votre clé privée pour le mac - Type
pbcopy < ~/.ssh/[keyname].pub
pour copier la clé publique dans le presse-papiers - 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.
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