How to identify this provider from within an instance

Posted December 12, 2014 2.4k views

Is there a way for an Ubuntu 14.04 instance to tell whether it’s running at this provider, as opposed to some other provider or in VirtualBox on my laptop, etc?

I realize that the provider could be identified via the startup script, that could “bake” that information into the instance when it’s created. Or some external software could log into the instance and configure it accordingly. That’s doable.

But I was wondering if there’s a simple, unambiguous way for an instance that’s already running, to tell that it’s running at this provider, using only things that are already available to it.

I don’t want to do an API call, download the list of instances, and have this instance try and identify itself in the list. There must be a simpler way, like the existence of a provider-specific package in the OS, or something like that. The test must be reliable and simple.


These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer

There are a couple ways.

1.) On most of our images the /etc/motd that is displayed when you login is modified from stock to display additional information about your droplet so checking this file against what you know to be standard would be one way, however the exact message displayed on new droplets may change with new releases so automating this may cause trouble in the future.

2.) An even easier way would be to do a whois on the IP address assigned to your droplet. Since the IP address given to your droplet is from our pool, a whois of the IP address will return DigitalOcean’s details. This option would also work just as well with most other providers.