我需要能够重复、非随机和唯一地识别一个服务器主机,该主机可能会被任意虚拟化并且我无法控制。
是否有任何替代的持久、唯一的主机标识符?
- MAC地址不适用,因为在某些虚拟化环境中,网络接口没有硬件地址。
- 生成状态文件并将其保存到磁盘上不起作用,因为虚拟机可能会被克隆,从而复制文件。
- 服务器的SSH 主机密钥可以作为备选方案。它们可以像状态文件一样被克隆,但实际上通常不会这样做,因为这是一个如此大的安全问题,所以很少犯错误。
- 还有/var/lib/dbus/machine-id,但这取决于dbus。(感谢Preetam)
- 有一个CPUID,但显然已经过时了。(感谢Twitter上的Bruno Aguirre)
- 主机名值得考虑。许多系统(如Chef)已经要求使用唯一的主机名。(感谢Alfie John)
是否有任何替代的持久、唯一的主机标识符?
/var/lib/dbus/machine-id
,但这取决于dbus。 - Preetam Jinka