成功克隆我的回购从heroku和添加另一个远程

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

在运行line(3)或使用SourceTree后,我仍然得到这个错误

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

首先,我不明白这条信息在实践中意味着什么。这就是耻辱。

我确实创建了ssh密钥对并添加到heroku:

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

我还在BitBucket的部署密钥部分添加了我的密钥。但我一定遗漏了什么。这个问题不是出于懒惰,我一直在阅读各种文档,包括BitBuckets指南。但它仍然没有解决这个问题。

这篇文章是有关我可以导入我的heroku git回购到bitbucket ?以及如何?

额外的事实:

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

看起来一切都很好。


当前回答

最近我也遇到了同样的问题。我得到了以下错误:

存储库访问被拒绝。通过部署键的访问是只读的。

您可以有两种SSH密钥:

对于您的整个帐户,这将适用于所有存储库 每个存储库只能用于该特定存储库的SSH密钥。

我只是删除了我的存储库SSH密钥,并添加了一个新的SSH密钥到我的帐户,它工作得很好。

我希望它能帮助到一些人。干杯

其他回答

如果您打算在管理帐户SSH密钥下添加相同的密钥,则必须先删除部署密钥。

对于此错误:conq:存储库访问被拒绝。通过部署键的访问是只读的。

我改变了密钥的名称,例如

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

我在bitbucket上使用自己的密钥

TLDR: ssh-add ~/.ssh/yourkey

我刚刚算出了这道题。

其他答案都没用。

我确实有一个。/ssh/config与所有正确的东西,也是一个早期的存储库工作良好(相同的比特桶帐户,相同的密钥)。然后生成一个deploy_key,然后创建一个新的存储库。

之后,不能克隆新的回购。

我希望我知道ssh代理是如何/为什么搞砸的,但添加密钥解决了它。我的意思是在我的本地Ubuntu中添加密钥,而不是在bitbucket管理中。命令是公正的

    ~/.ssh$ ssh-add myregualrkey

希望这能帮助到一些人。

有时它不起作用,因为你手动在~/.ssh/config中为bitbucket设置了另一个键。

步骤:

Create ssh keys on source server ssh-keygen Cat and copy id_rsa.pub located under ~./ssh directory Go to Bitbucket, if you have already set the access keys for repository(s) then delete existing public key(s) Go to Bitbucket avatar> Bitbucket settings> SSH Keys (under Security, left pane)> Click on 'Add Keys'> paste the public key. Check if it works by running below command on the source server git remote show origin For fetch and push from the source server, if the protocol is 'https' then you have to change it to 'git+ssh' by running below command git remote set-url origin git+ssh://<bitbucketaccount>@bitbucket.org/<accountname>/repo.git Check if you can do push to the repo.

完成了!