How do I authenticate to the console with a PUT request to avoid logging in?

January 26, 2017 413 views
Control Panels

I'm trying to access the console using the url (something like: https://cloud.digitalocean.com/droplets/<ID>/console?nolayout=true&i=<OtherID>), but I when I use the URL while not logged in to the control panel I'm asked to login. How do I authenticate through a PUT request within the url so I don't have to login to access the console?

More simply put, I'm trying to access the console without being required to login to the control panel, I should still be forced to login to the operating system after established connection

1 Answer

This can be hard - probably behavior like this is blocked for sake of malicious attacks.
You can check with Support, maybe they had experience, but AFAIK, it's not possible.

What is reason behind using console? If that is not some Web app, why not use SSH, which is much better?

Maybe you can build something using API or CLI.
If you depend on logging by ID, you can check out doctl which have support for SSH for all platforms (Windows, Linux, macOS) and also, you can SSH via Droplet ID or name instead of IP.
You can build your own solution too that is working like it.

  • Hi, thanks for your answer, I'm planning to use DO as IaaS provider for a managed project so I would like to grant access to the console for my customers from my own application. The only way to do that now would be to give them accounts bound to my account on DO but that might become more vulnerable for me seeing that I can't grant access to individual droplets via the API.

    Also SSH won't work with a miss configured firewall or if the customer is locked out from his server for other reasons like if the traffic is null routed due to a DDoS attack. I'm using another provider too beside DO who has this feature, basically where I put a 64 or 128 characters long auth string in the console url (which I also can obtain from API) and thus allow my customers to connect to the console.

Have another answer? Share your knowledge.