Tutto dipende dall'hardware (fisico o virtuale) disponibile per la tua VM. rng-tools può solo ottenere entropia dalle fonti disponibili. Se la tua macchina virtuale non ha fonti di entropia disponibili per gli strumenti di rng da utilizzare, allora non starai meglio.
Alcuni sistemi di virtualizzazione sono comunque in grado di rendere l'entropia di origine hardware disponibile per gli ospiti attraverso una serie di meccanismi. In alcuni casi è possibile passare un dispositivo hardware direttamente ai propri ospiti (USB, PCI, qualsiasi cosa) e avere strumenti rng utilizzare questo dispositivo. Nella maggior parte dei casi ciò non sarà possibile.
I driver paravirtual virtio espongono vari IO Device alle VM guest dal dominio di controllo hardware (kernel Linux che esegue KVM, dom0 in Xen). C'è un dispositivo virtio-rng che consente ad una fonte di entropia di essere esposta agli ospiti. Da quello che posso trovare questo è abbastanza maturo su KVM ma il supporto per Xen sembra essere un work in progress: link
Mentre virtio è ottimo, richiede che l'ospite abbia driver virtio e quindi sia consapevole del fatto che si tratta di una VM (paravirtualizzata). I nuovi hardware come i chip Intel IVB e HSW hanno istruzioni CPU specifiche che forniscono numeri casuali da un RNG on-chip e questi possono essere esposti alle macchine virtuali guest. È possibile verificare la disponibilità di queste istruzioni utilizzando CPUID.
Questa è una breve panoramica e probabilmente informazioni sufficienti. Se sei interessato a maggiori dettagli, c'è un'eccellente discussione su questo argomento qui: link
EDIT:
Scusa, immagino di aver fornito molti dati, ma non ho mai risposto alla domanda. Ad ogni modo, ecco la mia opinione sulla vera domanda:
Is this safe to use (from a security perspective) on a virtual machine/virtual private server where the OS only has access to virtualized hardware? Will the generated keys be sufficiently random?
Quando si parla di sicurezza non c'è nulla di più dannoso di pensare che la tua configurazione sia sicura quando non lo è. L'uso di strumenti rng quando non ti fornisce alcun vantaggio (non ha origine di hardware entropia da cui attingere) ha la netta possibilità di farti pensare che stai generando numeri casuali di alta qualità (materiale per la codifica?) Quando in realtà non lo sei. Quindi non penso che usare rng-tools senza avere una fonte di entropia per la tua VM renderà i numeri generati meno casuali, ma potrebbe farti pensare che stai generando chiavi di alta qualità quando in realtà non lo sono.
Il mio consiglio è di usare il demone di rng-tools ma solo dopo aver verificato che hai una fonte di entropia disponibile per l'uso.