Roots Discourse

Can't deploy -


This is what I somehow needed today to deploy my site changes. Committing and adding all changes using git was fine, but when I wanted to deploy I got an error that the repo could perhaps not be reached or that I had to setup proper SSH forwarding. Just adding the key to the keychain seemed to make all work again.


Hi everyone,

I been following this thread, tested the suggestions too.

But I can’t still not deploy to my staging, but my colleague does it and we have tried to solve this now but we are stuck. Getting bored to ask him to deploy for me all the time.

Keep getting this error message at the end:
TASK [deploy : Clone project files] **********************************************************************************

System info:

  Ansible; Darwin

  Trellis at "Normalize `apt` tasks"


Failed to download remote objects and refs:  Permission denied (publickey).

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

and the repository exists.

fatal: []: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}


TASK [deploy : Failed connection to remote repo] *********************************************************************

System info:

  Ansible; Darwin

  Trellis at "Normalize `apt` tasks"


Git repo cannot be accessed. Please

verify the repository exists and you have SSH forwarding set up correctly.

More info:




fatal: []: FAILED! => {"changed": false, "failed": true}

	to retry, use: --limit @/Applications/MAMP/dev/

PLAY RECAP ***********************************************************************************************************              : ok=7    changed=0    unreachable=0    failed=1   

localhost                  : ok=0    changed=0    unreachable=0    failed=0 

Any other suggestions?


Do you have access to the git repo?

I mean the site repo in wordpress_sites.yml:


Yes, I have push code and changes to the repository.

And tested with

ssh -T

And I get access to it, when I test on my terminal.


@ellrod Does ssh-add -l list the private ssh key that grants access to your bitbucket repo? Please try ssh-add or ssh-add -K till it does.

If you’re on macOS Sierra or newer, please ensure your ssh agent isn’t “forgetting” your ssh key. I haven’t read the discussion carefully, but perhaps add this to your ~/.ssh/config`:

Host *
  AddKeysToAgent yes
  UseKeychain yes

If your repo is with bitbucket, then you need to test ssh -T and it is more applicable if run on your server because during deploys it is your server that will initiate the git clone. For example,

$ ssh -o ForwardAgent=yes web@

$ ssh -T

If this last test fails in any way, how about removing /home/web/.ssh/known_hosts from the server then exiting the SSH session and trying your deploy again.


I’m the one that have setup the server in question. And I can’t wrap my head around the problems @ellrod is facing here. It seems he’s able to connect to the server and manually clone the repo, so as far as I can understand, the key is being forwarded.

Could there be some setting within Bitbucket that’s causing this? @ellrod has pushed changes to the repo on Bitbucket which I have later deployed because we have this issue. So access

Me personally can deploy without any issue.


This resolved my issue. Thank you, Scott.


I can’t seem to get my deploy to work. I’ve followed each of the steps listed in this thread and still getting error. I’ve double checked that SSH Agent Forwarding is enabled locally and on the server and that the key is added to the SSH agent both locally on on GitHub account. I’ve tried removing known_hosts from server and re-deploying.

I’ve deployed before on this project with the same repository and now it isn’t working.


We’ll need to see the actual errors you’re receiving in order to help here. Have you provisioned your server before deploying?


Figured it out!

After spinning up a new server and starting fresh it worked fine. So I started looking into differences in server settings between the two.

Turns out that i had changed the folder permissions/ownership of the folders on my server inside /srv/www/. Once I changed the permissions/ownership back to web:www-data it worked perfectly.

Hopefully this helps someone else out in the future.