Depois de clonar com sucesso o meu repo do heroku e adicionar outro controle remoto
1/ git clone [email protected]:[APP].git
2/ git remote add bitbucket ssh://[email protected]/[ACCOUNT]/[REPO].git
3/ git push bitbucket master
Ainda estou recebendo esse erro após executar a linha (3) ou usar o SourceTree
conq: repository access denied. access via a deployment key is read-only.
Primeiro, não entendo o que essa mensagem significa na prática. E isso é uma vergonha.
Eu criei o par de chaves ssh e adicionei ao heroku:
ssh-keygen -t rsa
heroku keys:add ./id_rsa.pub
Também adicionei minha chave na seção de chaves de implantação no BitBucket. Mas devo estar faltando alguma coisa. Esta questão não é de preguiça, tenho lido vários documentos, incluindo os guias do BitBuckets. Mas ainda não contorna esse problema.
Esta publicação está relacionada a Posso importar meu repositório heroku git para o bitbuket? e como?
FATOS ADICIONAIS:
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
Parece que está tudo bem.
Respostas:
A primeira confusão do meu lado foi sobre exatamente onde definir as chaves SSH no BitBucket.
Eu sou novo no BitBucket e estava definindo uma Chave de Implantação que fornece apenas acesso de leitura .
Portanto, verifique se você está definindo o seu
rsa pub key
nas Configurações da sua Conta BitBucket .Clique no seu avatar BitBucket e selecione Configurações de Bitbucket (
Gerenciar conta) Lá você poderá definir as chaves SSH .Simplesmente excluí a Chave de Implantação , não preciso de nenhuma por enquanto. E funcionou
fonte
Agora a opção SSH está nas configurações de segurança
Clique em Seu Avatar -> Configurações de Bitbucket -> Chave SSH -> Adicionar Chave
Cole sua chave pública
fonte
você precisa adicionar sua chave ao seu perfil e NÃO a um repositório específico. siga este: https://community.atlassian.com/t5/Bitbucket-questions/How-do-I-add-an-SSH-key-as-opposed-to-a-deployment-keys/qaq-p/413373
fonte
As chaves de implantação são somente leitura. Para habilitar o acesso de gravação, você precisa:
Remova essa chave de implantação das configurações do seu repositório. Você não poderá gravar neste repositório com essa chave de qualquer maneira.
Vá para "Avatar -> Configurações -> Chaves SSH" e adicione a mesma chave
Agora tente pressionar para remover o ramo
Você conseguiu escrever nos repositórios antes, mas esta é uma alteração no BitBucket, na qual você não pode mais escrever com a chave deploy.
fonte
'Chave de implantação' é apenas para acesso Somente leitura. A seguir, é uma boa maneira de resolver isso.
fonte
Você deve excluir a chave de implantação primeiro se quiser adicionar a mesma chave em Gerenciar chave SSH da conta.
fonte
Someone has already registered this as a deploy key.
TLDR: ssh-add ~ / .ssh / yourkey
Acabei de resolver esse problema.
E nenhuma das outras respostas ajudou.
Eu tinha um ./ssh/config com todas as coisas certas, também um repositório anterior funcionando bem (mesma conta de bitbucket, mesma chave). Então eu gerei uma deploy_key e depois criei um novo repositório.
Depois disso, não foi possível clonar o novo repositório.
Eu gostaria de saber como / por que o agente ssh estava atrapalhando isso, mas a adição da chave resolveu o problema. Quero dizer, adicionar a chave no meu Ubuntu local, não no administrador de bitbucket. O comando é apenas
Espero que isso ajude alguém.
fonte
Isso aconteceu quando estava tentando usar uma chave de implantação, porque era exatamente isso que eu queria.
Eu poderia conectar via
ssh -T [email protected]
e me diria que eu tinha acesso para ler o repositório que eu queria, masgit clone
falharia.Limpar
~/.ssh/known_hosts
, gerar uma nova chave viassh-keygen
, adicionar essa nova chave ao bitbucket e tentar novamente a corrigiu.fonte
Gostaria de enfatizar novamente o seguinte:
Levei anos para perceber, de alguma forma, mesmo depois de ler as respostas aqui, não houve um clique.
fonte
Primeiro, escolha ou crie a chave que você deseja usar para enviar para o Bitbucket. Digamos que sua chave pública esteja em
~/.ssh/bitbucket.pub
~/.ssh/config
:fonte
Recentemente, enfrentei o mesmo problema. Eu recebi o seguinte erro:
acesso ao repositório negado. o acesso via chave de implantação é somente leitura.
Você pode ter dois tipos de chaves SSH:
Simplesmente removi minha chave SSH do repositório e adicionei uma nova chave SSH à minha conta e funcionou bem.
Eu espero que isso ajude alguém. Felicidades
fonte
Eu tive o mesmo problema que Kabir Sarin. A solução foi clonar o repositório via SSH, em vez de usar o URL https. então foi isso que me ajudou, e espero que outros:
fonte
Passos:
Crie chaves ssh no servidor de origem
ssh-keygen
Gato e cópia id_rsa.pub localizado no diretório ~. / Ssh
Verifique se funciona executando o comando abaixo no servidor de origem
git remote show origin
Para buscar e enviar a partir do servidor de origem, se o protocolo for 'https', será necessário alterá-lo para 'git + ssh' executando o comando abaixo
git remote set-url origin git+ssh://<bitbucketaccount>@bitbucket.org/<accountname>/repo.git
Verifique se você pode fazer push para o repositório.
Feito!
fonte
Tudo que você precisa - adicione outra chave e use-a.
Como eu encontrei a primeira chave - sempre chave de implantação.
fonte
Às vezes, não funciona porque você define manualmente outra chave para o bitbucket
~/.ssh/config
.fonte
Etapa 1: Gerando Chaves
ssh-keygen
isto solicitará que você insira o local de armazenamento para a chave, digite/Users/[machinename]/.ssh/[keyname]
Etapa 2: pressionar as teclas em locais apropriados [contas Mac e remotas, por exemplo, Github, bitbucket, gitlab etc.]
ssh-add -K ~/.ssh/[keyname]
terminal para adicionar sua chave privada ao macpbcopy < ~/.ssh/[keyname].pub
para copiar a chave pública para a área de transferênciafonte
Aqui está o código completo para clonar todos os repositórios de uma determinada equipe / usuário do BitBucket
Mais informações: https://thepythoncoding.blogspot.com/2019/06/python-script-to-clone-all-repositories.html
fonte
para este erro: conq: acesso ao repositório negado. o acesso via chave de implantação é somente leitura.
Eu mudo o nome da minha chave, exemplo
Eu trabalho com minha própria chave no bitbucket
fonte