Cannot push to Bitbucket repository
Asked by allanext:

I've just set up a ssh key to access my repository, I can pull but I can't push:

\[ec2-user@wiki\]$ git remote -v  
11:17:08.491555 git.c:455 trace: built-in: git remote -v  
origin git@bitbucket.org:username/wiki.git (fetch)  
origin git@bitbucket.org:username/wiki.git (push)

\[ec2-user@wiki\]$ ssh -T git@bitbucket.org

authenticated via ssh key.

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

When I do a pull i get:  

<br />

\[ec2-user@wiki\]$ git pull  
11:18:47.502175 git.c:455 trace: built-in: git pull  
11:18:47.502934 run-command.c:667 trace: run_command: git fetch --update-head-ok  
11:18:47.504090 git.c:455 trace: built-in: git fetch --update-head-ok  
11:18:47.504671 run-command.c:667 trace: run_command: unset GIT_PREFIX; GIT_PROTOCOL=version=2 'ssh -vvv' -o SendEnv=GIT_PROTOCOL git@bitbucket.org 'git-upload-pack '\\''username/wiki.git'\\'''  
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017  
debug1: Reading configuration data /home/ec2-user/.ssh/config  
debug1: /home/ec2-user/.ssh/config line 1: Applying options for bitbucket.org  
debug1: Reading configuration data /etc/ssh/ssh_config  
debug1: /etc/ssh/ssh_config line 58: Applying options for \*  
debug2: resolving "bitbucket.org" port 22  
debug2: ssh_connect_direct: needpriv 0  
debug1: Connecting to bitbucket.org \[18.205.93.1\] port 22.  
debug1: Connection established.  
debug1: identity file /home/ec2-user/.ssh/id_key_bitbucket type 1  
debug1: key_load_public: No such file or directory  
debug1: identity file /home/ec2-user/.ssh/id_key_bitbucket-cert type -1  
debug1: Enabling compatibility mode for protocol 2.0  
debug1: Local version string SSH-2.0-OpenSSH_7.4  
debug1: Remote protocol version 2.0, remote software version conker_cad0b366a2 49fe7ad9ef7e  
debug1: no match: conker_cad0b366a2 49fe7ad9ef7e  
debug2: fd 3 setting O_NONBLOCK  
debug1: Authenticating to bitbucket.org:22 as 'git'  
debug3: hostkeys_foreach: reading file "/home/ec2-user/.ssh/known_hosts"  
debug3: record_hostkey: found key type RSA in file /home/ec2-user/.ssh/known_hosts:4  
debug3: load_hostkeys: loaded 1 keys from bitbucket.org  
debug3: order_hostkeyalgs: prefer hostkeyalgs: ssh-rsa-cert-v01@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa  
debug3: send packet: type 20  
debug1: SSH2_MSG_KEXINIT sent  
debug3: receive packet: type 20  
debug1: SSH2_MSG_KEXINIT received  
debug2: local client KEXINIT proposal  
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,ext-info-c  
debug2: host key algorithms: ssh-rsa-cert-v01@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-dss  
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc  
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc  
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1  
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1  
debug2: compression ctos: none,zlib@openssh.com,zlib  
debug2: compression stoc: none,zlib@openssh.com,zlib  
debug2: languages ctos:  
debug2: languages stoc:  
debug2: first_kex_follows 0  
debug2: reserved 0  
debug2: peer server KEXINIT proposal  
debug2: KEX algorithms: curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,ext-info-s  
debug2: host key algorithms: ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss  
debug2: ciphers ctos: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,chacha20-poly1305@openssh.com  
debug2: ciphers stoc: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,chacha20-poly1305@openssh.com  
debug2: MACs ctos: hmac-sha2-256-etm@openssh.com,hmac-sha2-256,hmac-sha1,hmac-sha1-96  
debug2: MACs stoc: hmac-sha2-256-etm@openssh.com,hmac-sha2-256,hmac-sha1,hmac-sha1-96  
debug2: compression ctos: none  
debug2: compression stoc: none  
debug2: languages ctos:  
debug2: languages stoc:  
debug2: first_kex_follows 0  
debug2: reserved 0  
debug1: kex: algorithm: curve25519-sha256@libssh.org  
debug1: kex: host key algorithm: rsa-sha2-512  
debug1: kex: server-\>client cipher: chacha20-poly1305@openssh.com MAC: \<implicit\> compression: none  
debug1: kex: client-\>server cipher: chacha20-poly1305@openssh.com MAC: \<implicit\> compression: none  
debug1: kex: curve25519-sha256@libssh.org need=64 dh_need=64  
debug1: kex: curve25519-sha256@libssh.org need=64 dh_need=64  
debug3: send packet: type 30  
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY  
debug3: receive packet: type 31  
debug1: Server host key: ssh-rsa SHA256:zzXQOXSRBEiUtuE8AikJYKwbHaxvSc0ojez9YXaGp1A  
debug3: hostkeys_foreach: reading file "/home/ec2-user/.ssh/known_hosts"  
debug3: record_hostkey: found key type RSA in file /home/ec2-user/.ssh/known_hosts:4  
debug3: load_hostkeys: loaded 1 keys from bitbucket.org  
debug3: hostkeys_foreach: reading file "/home/ec2-user/.ssh/known_hosts"  
debug3: record_hostkey: found key type RSA in file /home/ec2-user/.ssh/known_hosts:4  
debug3: load_hostkeys: loaded 1 keys from 18.205.93.1  
debug1: Host 'bitbucket.org' is known and matches the RSA host key.  
debug1: Found key in /home/ec2-user/.ssh/known_hosts:4  
debug3: send packet: type 21  
debug2: set_newkeys: mode 1  
debug1: rekey after 134217728 blocks  
debug1: SSH2_MSG_NEWKEYS sent  
debug1: expecting SSH2_MSG_NEWKEYS  
debug3: receive packet: type 21  
debug1: SSH2_MSG_NEWKEYS received  
debug2: set_newkeys: mode 0  
debug1: rekey after 134217728 blocks  
debug2: key: /home/ec2-user/.ssh/id_key_bitbucket (0x557472963cf0), explicit  
debug3: send packet: type 5  
debug3: receive packet: type 7  
debug1: SSH2_MSG_EXT_INFO received  
debug1: kex_input_ext_info: server-sig-algs=\<ssh-dss-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-dss,ssh-rsa-cert-v01@openssh.com,rsa-sha2-512,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,rsa-sha2-256\>  
debug3: receive packet: type 6  
debug2: service_accept: ssh-userauth  
debug1: SSH2_MSG_SERVICE_ACCEPT received  
debug3: send packet: type 50  
debug3: receive packet: type 51  
debug1: Authentications that can continue: publickey  
debug3: start over, passed a different list publickey  
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password  
debug3: authmethod_lookup publickey  
debug3: remaining preferred: keyboard-interactive,password  
debug3: authmethod_is_enabled publickey  
debug1: Next authentication method: publickey  
debug1: Offering RSA public key: /home/ec2-user/.ssh/id_key_bitbucket  
debug3: send_pubkey_test  
debug3: send packet: type 50  
debug2: we sent a publickey packet, wait for reply  
debug3: receive packet: type 60  
debug1: Server accepts key: pkalg rsa-sha2-512 blen 407  
debug2: input_userauth_pk_ok: fp SHA256:5myRVe77KoCzqnlB2KYcHv+3n+wknDi8G3Nwug5Dzuo  
debug3: sign_and_send_pubkey: RSA SHA256:5myRVe77KoCzqnlB2KYcHv+3n+wknDi8G3Nwug5Dzuo  
debug3: send packet: type 50  
debug3: receive packet: type 52  
debug1: Authentication succeeded (publickey).  
Authenticated to bitbucket.org (\[18.205.93.1\]:22).  
debug2: fd 4 setting O_NONBLOCK  
debug2: fd 5 setting O_NONBLOCK  
debug1: channel 0: new \[client-session\]  
debug3: ssh_session2_open: channel_new: 0  
debug2: channel 0: send open  
debug3: send packet: type 90  
debug1: Entering interactive session.  
debug1: pledge: network  
debug3: receive packet: type 91  
debug2: callback start  
debug2: fd 3 setting TCP_NODELAY  
debug3: ssh_packet_set_tos: set IP_TOS 0x08  
debug2: client_session2_setup: id 0  
debug1: Sending environment.  
debug3: Ignored env XDG_SESSION_ID  
debug3: Ignored env HOSTNAME  
debug3: Ignored env TERM  
debug3: Ignored env SHELL  
debug3: Ignored env HISTSIZE  
debug3: Ignored env SSH_CLIENT  
debug3: Ignored env GIT_REFLOG_ACTION  
debug3: Ignored env SSH_TTY  
debug3: Ignored env USER  
debug3: Ignored env LS_COLORS  
debug3: Ignored env PATH  
debug3: Ignored env MAIL  
debug3: Ignored env _  
debug1: Sending env GIT_PROTOCOL = version=2  
debug2: channel 0: request env confirm 0  
debug3: send packet: type 98  
debug3: Ignored env PWD  
debug1: Sending env LANG = en_US.UTF-8  
debug2: channel 0: request env confirm 0  
debug3: send packet: type 98  
debug3: Ignored env HISTCONTROL  
debug3: Ignored env SHLVL  
debug3: Ignored env HOME  
debug3: Ignored env GIT_SSH_COMMAND  
debug3: Ignored env GIT_TRACE  
debug3: Ignored env LOGNAME  
debug3: Ignored env SSH_CONNECTION  
debug3: Ignored env LESSOPEN  
debug3: Ignored env XDG_RUNTIME_DIR  
debug3: Ignored env GIT_EXEC_PATH  
debug1: Sending command: git-upload-pack 'username/wiki.git'  
debug2: channel 0: request exec confirm 1  
debug3: send packet: type 98  
debug2: callback done  
debug2: channel 0: open confirm rwindow 2097152 rmax 32768  
debug3: receive packet: type 99  
debug2: channel_input_status_confirm: type 99 id 0  
debug2: exec request accepted on channel 0  
11:18:47.709160 run-command.c:667 trace: run_command: git rev-list --objects --stdin --not --all --quiet --alternate-refs  
11:18:47.712206 run-command.c:667 trace: run_command: git rev-list --objects --stdin --not --all --quiet --alternate-refs  
11:18:47.713360 git.c:455 trace: built-in: git rev-list --objects --stdin --not --all --quiet --alternate-refs  
debug2: channel 0: read\<=0 rfd 4 len 0  
debug2: channel 0: read failed  
debug2: channel 0: close_read  
debug2: channel 0: input open -\> drain  
debug2: channel 0: ibuf empty  
debug2: channel 0: send eof  
debug3: send packet: type 96  
debug2: channel 0: input drain -\> closed  
debug2: channel 0: rcvd adjust 4  
debug3: receive packet: type 98  
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0  
debug3: receive packet: type 96  
debug2: channel 0: rcvd eof  
debug2: channel 0: output open -\> drain  
debug2: channel 0: obuf empty  
debug2: channel 0: close_write  
debug2: channel 0: output drain -\> closed  
debug3: receive packet: type 97  
debug2: channel 0: rcvd close  
debug3: channel 0: will not send data after close  
debug2: channel 0: almost dead  
debug2: channel 0: gc: notify user  
debug2: channel 0: gc: user detached  
debug2: channel 0: send close  
debug3: send packet: type 97  
debug2: channel 0: is dead  
debug2: channel 0: garbage collecting  
debug1: channel 0: free: client-session, nchannels 1  
debug3: channel 0: status: The following connections are open:  
#0 client-session (t4 r0 i3/0 o3/0 fd -1/-1 cc -1)

debug3: send packet: type 1  
debug1: fd 0 clearing O_NONBLOCK  
debug1: fd 1 clearing O_NONBLOCK  
Transferred: sent 3312, received 2912 bytes, in 0.1 seconds  
Bytes per second: sent 23555.4, received 20710.5  
debug1: Exit status 0  
11:18:47.721598 run-command.c:1628 run_processes_parallel: preparing to run up to 1 tasks  
11:18:47.721717 run-command.c:1660 run_processes_parallel: done  
11:18:47.721757 run-command.c:667 trace: run_command: git maintenance run --auto --no-quiet  
11:18:47.723096 git.c:455 trace: built-in: git maintenance run --auto --no-quiet  
hint: Pulling without specifying how to reconcile divergent branches is  
hint: discouraged. You can squelch this message by running one of the following  
hint: commands sometime before your next pull:  
hint:  
hint: git config pull.rebase false # merge (the default strategy)  
hint: git config pull.rebase true # rebase  
hint: git config pull.ff only # fast-forward only  
hint:  
hint: You can replace "git config" with "git config --global" to set a default  
hint: preference for all repositories. You can also pass --rebase, --no-rebase,  
hint: or --ff-only on the command line to override the configured default per  
hint: invocation.  
11:18:47.725676 run-command.c:667 trace: run_command: git merge FETCH_HEAD  
11:18:47.726984 git.c:455 trace: built-in: git merge FETCH_HEAD  
Already up to date.


Answers:
author: Theodora Boudale
body: Hi [@allanext](/t5/user/viewprofilepage/user-id/4969423) and welcome to the community!

An access key provides **read-only** access to a repo. This is useful if you use e.g. a CI system that only needs to clone your repositories.

If you want to clone, pull and push to your repos via SSH, you will need to set up SSH keys for your Bitbucket account instead:

* <https://support.atlassian.com/bitbucket-cloud/docs/set-up-an-ssh-key/>

Instead of generating a new SSH key pair, you can remove your existing public key from the repository's **Access keys** and add it to your account here: <https://bitbucket.org/account/settings/ssh-keys/>

Kind regards,  
Theodora


Tags: bitbucket-cloud

cloud

ssh-key