19

I'm doing like this to push changes my bitbucket repository:

$: git push origin 
master conq: repository access denied. 
fatal: The remote end hung up unexpectedly

What does this error mean and how do I fix it?

Debug info for bitbucket: ssh -T -v git@bitbucket.org

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to bitbucket.org [131.103.20.167] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/identity-cert type -1
debug1: identity file /root/.ssh/id_rsa type 1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-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.3
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 /root/.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: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug1: Offering public key: /root/.ssh/id_rsa
debug1: Remote: Forced command: conq deploykey:435246
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 277
debug1: read PEM private key done: type RSA
debug1: Remote: Forced command: conq deploykey:435246
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Authentication succeeded (publickey).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
authenticated via agent_smith.


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

This deploy key has read access to the following repositories:

myserver/scripts: root@myserver.stuff.com -- root@myserver.stuff.com
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2440, received 3032 bytes, in 0.0 seconds
Bytes per second: sent 58903.0, received 73194.2
debug1: Exit status 0

It's some problem that has to do with the authenticated user agent_smith above.

halfer
  • 18,701
  • 13
  • 79
  • 158
user1077220
  • 1,353
  • 5
  • 13
  • 20
  • I got this exact error. It's a problem with how ssh assumes the credentials based on incomplete information. When a user is modified out from underneath it, ssh negotiates the old invalid credentials with bitbucket servers. To fix: You have to generate new ssh keys with ssh-keygen and then replace the contents of your `~/.ssh/id_rsa`, `~/.ssh/id_rsa.pub`. Then you have to go into bitbucket, and delete the old key, and re-upload the new ssh key you just created. – Eric Leschinski Feb 26 '15 at 18:30

4 Answers4

13

In term of ssh access (like an ssh BitBucket repo address similar to ssh://git@bitbucket.org/accountname/reponame.git, double-check:

Note: on Windows, then environment variable HOME isn't defined by default. Make sure it is.

Community
  • 1
  • 1
VonC
  • 1,042,979
  • 435
  • 3,649
  • 4,283
  • 1
    I have multiple bitbucket accounts and my corporate ssh_keys are store in a separate file. By explicitly referencing these keys in ~/.ssh/config resolved my issues – Troy Watt Jul 08 '13 at 20:48
5

Check that you have write permission on repo.


AND from https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git#SetupSSHforGit-Step4Createaconfigfile:

Step 4. Create a SSH config file

Using your favorite text editor, edit an existing (or create a new)
~/.ssh/config file.

Add an entry to the configuration file using the following format:

Host bitbucket.org
 IdentityFile ~/.ssh/privatekeyfile

The second line is indented. That indentation (a single space) is important, 
so make sure you include it.  The second line is the
location of your private key file.  If you are following along with
these instructions, your file is here:

 ~/.ssh/id_rsa

When you are done editing, your configuration looks similar to the following:

Host bitbucket.org
 IdentityFile ~/.ssh/id_rsa

Save and close the file.
Restart the GitBash terminal.
Igor Parra
  • 9,600
  • 10
  • 66
  • 93
2

This git error:

$: git pull
master conq: repository access denied. 
fatal: The remote end hung up unexpectedly

Remedied by:

  1. Blow away the public and private ssh keys in your ~/.ssh directory
  2. Create new ssh keys.
  3. Log in to bitbucket for your repository.
  4. Delete the old ssh key from bitbucket.
  5. Add your new ssh key to bitbucket.
  6. Try it again, then ssh negotiates with bitbucket with the correct user.

What caused this?

The credentials that ssh on the client machine was using to negotiate with bitbucket had changed in such a way as to cause bitbucket to think that this is an unauthorized user.

Eric Leschinski
  • 123,728
  • 82
  • 382
  • 321
1

If you are using Mac OSX or Linux what worked for me is ensuring that ssh-agent is loaded and running with my keys.

$ ps -e | grep [s]sh-agent
9060 ??     0:00.28 /usr/bin/ssh-agent -l

checks to see if the agent is running. You should see something like the above results. If you do not see the above results, you can type

$ eval ssh-agent $SHELL

to start the ssh-agent by hand. Next you want to check to see if the keys are running. Type

$ ssh-add -l
2048 68:ef:d6:1e:4b:3b:a3:52:6f:b0:c3:4b:da:e8:d1:9f /c/Documents and Settings/manthony/.ssh/personalid (RSA)

and you should see the above results. If you don't you can type

$ ssh-add ~/.ssh/workid

where workid is the name of your private keyset you generated.

taken directly from this link: Configure multiple SSH identities for GitBash, Mac OSX, & Linux

Eric Leschinski
  • 123,728
  • 82
  • 382
  • 321
Daniel
  • 2,650
  • 2
  • 21
  • 42