Deploy to staging with IP only?

Can you deploy to staging with just an IP or is a subdomain required?

When running the Ansible playbook with the same SSH credentials I don’t get any permission errors and the environment gets setup fine, however running the staging i get an ssh permission error. Is the difference between setup and deploy being that a reachable domain is required for deploy and not just an IP?
fatal: [xx.xx.xx.xx] => SSH Error: Permission denied (publickey,password). while connecting to xx.xx.xx.xx

The difference would be that you can SSH as root which if you are using something like Digital Ocean, your public key was added on creation of the VPS. When you deploy, the web just by default is used.

Are your keys set up correctly here?