Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

So I am trying to clone a repo to a directory on my Ubuntu server but I keep getting a Permission Denied (publickey) error.

This is very weird because my output for ssh -T git@bitbucket.org shows success:

mo@li515-148:/var/www$ ssh -T git@bitbucket.org
conq: logged in as msamman.

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

However when I try to clone, I am getting an error:

mo@li515-148:/var/www$ sudo git clone git@bitbucket.org:username/website-development.git
Cloning into 'website-development'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

here is the verbose output:

mo@li515-148:/var/www$ ssh -v git@bitbucket.org
OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to bitbucket.org [207.223.240.182] port 22.
debug1: Connection established.
debug1: identity file /home/mo/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/mo/.ssh/id_rsa-cert type -1
debug1: identity file /home/mo/.ssh/id_dsa type -1
debug1: identity file /home/mo/.ssh/id_dsa-cert type -1
debug1: identity file /home/mo/.ssh/id_ecdsa type -1
debug1: identity file /home/mo/.ssh/id_ecdsa-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.9p1 Debian-5ubuntu1
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: Server host key: RSA 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40
debug1: Host 'bitbucket.org' is known and matches the RSA host key.
debug1: Found key in /home/mo/.ssh/known_hosts:1
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: /home/mo/.ssh/id_rsa
debug1: Remote: Forced command: conq username:msamman
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: Remote: Forced command: conq username:msamman
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.182]:22).
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
PTY allocation request failed on channel 0
conq: logged in as msamman.

You can use git or hg to connect to Bitbucket. Shell access is disabled.
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
Connection to bitbucket.org closed.
Transferred: sent 3072, received 2904 bytes, in 0.2 seconds
Bytes per second: sent 14028.4, received 13261.2
debug1: Exit status 0

This is an Ubuntu 12.04 server and I am SSHing to it through PuTTY. Any ideas?

share|improve this question

2 Answers 2

up vote 3 down vote accepted

Found the problem.

I made ssh keys for my user account mo. Thats why ssh -T git@bitbucket.org returned success.

However, calling sudo git clone ...... uses the root account, which doesn't have ssh access to bitbucket.

I simply had to give mo permissions to /var/www folder to bypass using sudo and that fixed my problem.

share|improve this answer

I use:

sudo -u myuser git clone git@.....

where myuser is the user from where I´m executing and sshkey is authorized on bitbucket.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.