When renting a dedicated server, how can one be certain than he/she is not getting a VPS or some other virtual machine variant instead of a true dedicated hardware box?
Which checks can be run (assuming it is a linux box) to detect such case?
First of all, physical machines tend to have more memory than VPSs. Question 512MB or less. Secondly you can check several things to find a VPS. You'll commonly find virtual machines have surprisingly basic looking hardware in them. Like KVM has a "Cirrus Logic GD 5446" graphics card. VMWare used to have an RTL8129 network card in. This is so most OS installation media has drivers for the virtual devices.
Look for one of
VMWare or Parallels
Run lspci and look for
There's no 100% reliable way for you to detect that you're in a VM, just like there's no way to detect whether you're actually in the Matrix, or if you're actually a computer simulation.
However, if the provider is an idiot, you can tell that you're in a VM from the following handy list:
These aren't 100% reliable, because the provider controls the environment and can modify the system to not show these. However, anyone who is cheap enough to sell you a dedicated server and give you a VM probably isn't smart enough to be able to pull this off.
If you want to take a more hands-on approach, you can try this answer from elsewhere. Unfortunately, it does require a functional compiler on the "guest" system.