tutorial - synchroniser son serveur web avec github




Accès au référentiel refusé. l'accès via une clé de déploiement est en lecture seule (8)

Après avoir cloné avec succès mon repo de heroku et ajouté une autre télécommande

1/ git clone [email protected]:[APP].git
2/ git remote add bitbucket ssh://[email protected]/[ACCOUNT]/[REPO].git
3/ git push bitbucket master

Je reçois toujours cette erreur après l'exécution de line (3) ou en utilisant SourceTree

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

D'abord, je ne comprends pas ce que ce message signifie en pratique. Et c'est honte.

J'ai créé une paire de clés ssh et ajouté à heroku:

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

J'ai également ajouté ma clé dans la section des clés de déploiement dans BitBucket. Mais je dois manquer quelque chose. Cette question n'est pas par paresse, j'ai lu divers documents, y compris les guides BitBuckets. Mais il ne contourne toujours pas ce problème.

Ce message est lié à Puis-je importer mon repo heroku git dans bitbuket? et comment?

FAITS ADDITIONNELS:

ssh -T [email protected]
conq: authenticated via a deploy key.

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


$ ssh -v [email protected]
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 [email protected]
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.


'Deployment Key' est seulement pour l'accès en lecture seule. Voici un bon moyen de travailler à travers cela.

  • Créez une clé SSH et ajoutez-la à bitbucket (User Avatar -> Bitbucket Setting-> SSH keys)
  • ~ / .ssh / known_hosts
  • ssh-add -D (Supprime les clés chargées dans l'agent SSH)
  • ssh-add ~ / .ssh / votre_private_key_for_bitbucket
  • ssh [email protected] -Tv (Vérifiez que votre clé est utilisée pour se connecter à bitbucket)
  • git push 'nom distant' nom de la branche '

Cela s'est produit lorsque j'essayais d'utiliser une clé de déploiement, car c'est exactement ce que je voulais.

Je pouvais me connecter via ssh -T [email protected] et il me dirait que j'avais accès à lire le référentiel que je voulais, mais git clone échouerait.

Effacement de ~/.ssh/known_hosts , génération d'une nouvelle clé via ssh-keygen , ajout de cette nouvelle clé à bitbucket, et nouvelle tentative de correction pour moi.


La première confusion de mon côté concernait l'emplacement exact des clés SSH dans BitBucket.

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

Assurez-vous donc que vous définissez votre rsa pub key dans vos paramètres de compte BitBucket .

Cliquez sur votre avatar BitBucket et sélectionnez Gérer le compte . Là, vous serez en mesure de définir les clés SSH .

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


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 référentiel. Vous ne serez pas en mesure d'écrire à ce repo avec cette clé de toute façon.

  • Allez dans "Avatar -> Paramètres -> Clés SSH" et ajoutez la même clé

  • Maintenant, essayez de pousser pour enlever la branche

Vous étiez capable d'écrire dans des référentiels auparavant, mais c'est un changement dans BitBucket où vous n'êtes plus capable d'écrire avec la clé de déploiement.


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


TLDR: ssh-add ~ / .ssh / yourkey

Je viens de travailler à travers ce problème.

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

J'ai eu un ./ssh/config avec toutes les bonnes choses, aussi un dépôt précédent fonctionnait bien (même compte bitbucket, même clé). Ensuite, j'ai généré une clé de déploiement, puis créé un nouveau référentiel.

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

J'aurais aimé savoir comment / pourquoi l'agent ssh gâchait ça, mais l'ajout de la clé l'a résolu. Je veux dire ajouter la clé dans mon Ubuntu local, pas dans l'admin bitbucket. La commande est juste

    ~/.ssh$ ssh-add myregualrkey

J'espère que cela aide quelqu'un.


Vous devez d'abord supprimer la clé de déploiement si vous souhaitez ajouter la même clé sous Gérer la clé SSH du compte.


pour cette erreur: conq: accès au référentiel 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