I’d recommend updating Trellis to the latest HEAD version because your version 0.9.7…
- will not work with your version of Ansible 2.1.1.0 (roots/trellis#631), or roll back to Ansible 2.0.2.0
- will not work with Ubuntu 16.04 (DO default) (roots/trellis#626), or ensure your droplet is 14.04
- will not work with WP 4.6 (roots/trellis#640)
Once you’ve updated Trellis, I’d recommend…
- back up any important data from the DO droplet
- change
admin_user: admin
(because Trellis will tryroot
by default, only usingadmin
as fallback) - rebuild the droplet (a destroy that maintains IP)
Ansible reports that it is running on Linux. If this means you’re using Windows with Ansible running from within a Vagrant VM, the VM will need your private SSH key in order to make connections. For example, copy/paste the relevant private key content into the VM at ~/.ssh/id_rsa
or ~/.ssh/digital_ocean
(whichever key corresponds to the public key you have loaded on your DO droplet), then set tighter permissions on the file(s): chmod 0400 ~/.ssh/key_name
.
Note that if you’re not on Windows, then Vagrant and the vagrant
user are typically irrelevant to connections to remote staging/production servers. It is just a connection between your Linux local machine to the remote DO servers. The Vagrant dev VM is not involved.
Could you run these two commands on your Ansible control machine? I’m referring to your regular machine if running Linux, or in Vagrant VM (e.g., after vagrant ssh
) if running Windows.
ssh-agent bash
# start your ssh-agent (in case it isn’t already running)ssh-add ~/.ssh/private_key_name
# load DO-related private key into ssh-agent
Finally, now try ansible-playbook server.yml -e env=staging
If the Ansible connection still fails and you’re still able to ssh manually, could you share your exact manual ssh command, then share the entire verbose output of the manual ssh command (add -v
), e.g.,
ssh -v root@xxx.xxx.xxx.xxx
I hope that seeing your command and output could offer insight into what is going on with your SSH keys.