Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Linux
Virtio RNG est un générateur de nombres aléatoires paravirtualisé. Virtio RNG fournit des nombres aléatoires à partir d'un pool d'entropie généré par la machine hôte de votre instance de machine virtuelle (VM). Le pool d'entropie collecte des bits d'informations aléatoires du système et utilise ces informations pour générer des nombres véritablement aléatoires que vous pouvez ensuite utiliser pour des informations sensibles telles que des clés SSH ou des ID uniques.
Avant de commencer
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification valide votre identité pour accéder aux services et aux API Google Cloud . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :
Installez la Google Cloud CLI.
Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
Virtio RNG n'est pas disponible pour les images Windows.
Par défaut, les VM Compute Engine utilisent Virtio RNG au lieu d'un daemon pour remplir le pool d'entropie invité. Si vous préférez utiliser un daemon de collecte d'entropie au lieu d'utiliser Virtio RNG, vous devez en installer un. Pour obtenir un exemple de daemon de collecte d'entropie, consultez la documentation sur rng-tools.
Vérifier que Virtio RNG est activé
Vous pouvez vérifier si Virtio RNG est activé sur votre VM en exécutant la commande suivante :
lsmod | grep rng
Lorsque Virtio RNG est activé, le résultat ressemble à ce qui suit :
Vous pouvez tester Virtio RNG en utilisant l'appareil /dev/random.
Connectez-vous à la VM à l'aide de SSH. Par exemple, vous pouvez utiliser la gcloud CLI pour vous connecter :
gcloud compute ssh VM_NAME
Remplacez VM_NAME par le nom de votre VM.
Installez rng-tools :
CentOS
Exécutez la commande suivante pour installer rng-tools :
sudo yum install rng-tools
Debian
Exécutez la commande suivante pour installer rng-tools :
sudo apt install rng-tools
Fedora CoreOS
Exécutez la commande suivante pour installer rng-tools :
sudo yum install rng-tools
RHEL
Exécutez la commande suivante pour installer rng-tools :
sudo yum install rng-tools
SLES
Exécutez la commande suivante pour installer rng-tools :
sudo zypper install rng-tools
Ubuntu LTS
Exécutez la commande suivante pour installer rng-tools :
sudo apt install rng-tools
Certaines images Ubuntu renvoient une erreur Package 'rng-tools' has no installation
candidate. Si vous recevez cette erreur, exécutez les commandes suivantes :
sudo apt update
sudo apt install rng-tools
Sur la VM, exécutez la commande rngtest :
cat /dev/random | rngtest -c 1000
Si Virtio RNG n'est pas activé, la commande ne renvoie rien. Si Virtio RNG est activé, vous recevez une réponse semblable à celle-ci :
rngtest 2-unofficial-mt.14..
rngtest: starting FIPS tests...
rngtest: bits received from input: 20000032
rngtest: FIPS 140-2 successes: 1000
rngtest: FIPS 140-2 failures: 0
rngtest: FIPS 140-2(2001-10-10) Monobit: 0
rngtest: FIPS 140-2(2001-10-10) Poker: 0
rngtest: FIPS 140-2(2001-10-10) Runs: 0
rngtest: FIPS 140-2(2001-10-10) Long run: 0
rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
rngtest: input channel speed: (min=4.801; avg=7.318; max=7.839)Mibits/s
rngtest: FIPS tests speed: (min=39.005; avg=69.557; max=72.523)Mibits/s
rngtest: Program run time: 2880954 microseconds
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eVirtio RNG is a paravirtualized random number generator that provides random numbers to virtual machines from the host machine's entropy pool, used for sensitive information like SSH keys.\u003c/p\u003e\n"],["\u003cp\u003eVirtio RNG is pre-enabled on all Linux virtual machines (VMs) within Compute Engine, simplifying the process of obtaining random numbers for various applications.\u003c/p\u003e\n"],["\u003cp\u003eYou can verify if Virtio RNG is enabled on your Linux VM by using the command \u003ccode\u003elsmod | grep rng\u003c/code\u003e in the terminal.\u003c/p\u003e\n"],["\u003cp\u003eTo test if Virtio RNG is working, you need to connect to your VM via SSH, install the \u003ccode\u003erng-tools\u003c/code\u003e package, and execute the command \u003ccode\u003ecat /dev/random | rngtest -c 1000\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eWindows images do not support Virtio RNG.\u003c/p\u003e\n"]]],[],null,["# Enabling Virtio RNG\n\nLinux\n\n*** ** * ** ***\n\nVirtio RNG is a paravirtualized random number generator. Virtio RNG provides\nrandom numbers from an entropy pool generated by the host machine of your\nvirtual machine (VM) instance. The entropy pool collects random bits of\ninformation from the system and uses that information to generate truly random\nnumbers, which you can use for sensitive information, such as SSH keys or unique\nIDs.\n\nBefore you begin\n----------------\n\n- If you haven't already, set up [authentication](/compute/docs/authentication). Authentication verifies your identity for access to Google Cloud services and APIs. To run code or samples from a local development environment, you can authenticate to Compute Engine by selecting one of the following options:\n 1.\n [Install](/sdk/docs/install) the Google Cloud CLI.\n\n After installation,\n [initialize](/sdk/docs/initializing) the Google Cloud CLI by running the following command:\n\n ```bash\n gcloud init\n ```\n\n\n If you're using an external identity provider (IdP), you must first\n [sign in to the gcloud CLI with your federated identity](/iam/docs/workforce-log-in-gcloud).\n | **Note:** If you installed the gcloud CLI previously, make sure you have the latest version by running `gcloud components update`.\n 2. [Set a default region and zone](/compute/docs/gcloud-compute#set_default_zone_and_region_in_your_local_client).\n\nLimitations\n-----------\n\n- Virtio RNG is not available for Windows images.\n- By default, Compute Engine VMs use Virtio RNG instead of a daemon to refill the guest entropy pool. If you prefer to use an entropy gathering daemon instead of or along with Virtio RNG, you must install one. For an example of an entropy gathering daemon, see the [`rng-tools`](https://git.kernel.org/pub/scm/utils/kernel/rng-tools/rng-tools.git/about/) documentation.\n\nChecking if Virtio RNG is enabled\n---------------------------------\n\n| **Note:** Virtio RNG comes pre-enabled on all Linux VMs.\n\nYou can check whether Virtio RNG is enabled on your VM by running the following\ncommand: \n\n```\nlsmod | grep rng\n```\n\nWhen Virtio RNG is enabled, your output is similar to the following: \n\n```\nvirtio_rng 16384 0\nrng_core 16384 2 virtio_rng\nvirtio_ring 28672 4 virtio_rng,virtio_scsi,virtio_pci,virtio_net\nvirtio 16384 4 virtio_rng,virtio_scsi,virtio_pci,virtio_net\n```\n\nTesting Virtio RNG\n------------------\n\nYou can test Virtio RNG by using the `/dev/random` device.\n| **Note:** Testing is not supported on SLES 15 for SAP.\n\n1. Connect to the VM by using SSH. For example, you can use the\n gcloud CLI to connect:\n\n ```\n gcloud compute ssh VM_NAME\n ```\n\n \u003cbr /\u003e\n\n Replace \u003cvar translate=\"no\"\u003eVM_NAME\u003c/var\u003e with the name of your VM.\n2. Install `rng-tools`:\n\n ### CentOS\n\n Use the following command to install `rng-tools`: \n\n ```\n sudo yum install rng-tools\n ```\n\n ### Debian\n\n Use the following command to install `rng-tools`: \n\n ```\n sudo apt install rng-tools\n ```\n\n ### Fedora CoreOS\n\n Use the following command to install `rng-tools`: \n\n ```\n sudo yum install rng-tools\n ```\n\n ### RHEL\n\n Use the following command to install `rng-tools`: \n\n ```\n sudo yum install rng-tools\n ```\n\n ### SLES\n\n Use the following command to install `rng-tools`: \n\n ```\n sudo zypper install rng-tools\n ```\n\n ### Ubuntu LTS\n\n Use the following command to install `rng-tools`: \n\n ```\n sudo apt install rng-tools\n ```\n\n Some Ubuntu images return a `Package 'rng-tools' has no installation\n candidate` error. If you receive this error, run the following commands: \n\n ```\n sudo apt update\n sudo apt install rng-tools\n ```\n3. On the VM, run the `rngtest` command:\n\n ```\n cat /dev/random | rngtest -c 1000\n ```\n\nIf Virtio RNG isn't enabled, the command doesn't return anything. If\nit is enabled, you receive a response similar to the following: \n\n```\nrngtest 2-unofficial-mt.14..\nrngtest: starting FIPS tests...\nrngtest: bits received from input: 20000032\nrngtest: FIPS 140-2 successes: 1000\nrngtest: FIPS 140-2 failures: 0\nrngtest: FIPS 140-2(2001-10-10) Monobit: 0\nrngtest: FIPS 140-2(2001-10-10) Poker: 0\nrngtest: FIPS 140-2(2001-10-10) Runs: 0\nrngtest: FIPS 140-2(2001-10-10) Long run: 0\nrngtest: FIPS 140-2(2001-10-10) Continuous run: 0\nrngtest: input channel speed: (min=4.801; avg=7.318; max=7.839)Mibits/s\nrngtest: FIPS tests speed: (min=39.005; avg=69.557; max=72.523)Mibits/s\nrngtest: Program run time: 2880954 microseconds\n```\n\nWhat's next\n-----------\n\n- Learn more about [Virtio RNG](https://www.redhat.com/en/blog/red-hat-enterprise-linux-virtual-machines-access-random-numbers-made-easy)\n- Learn more about [`/dev/random`](https://wikipedia.org/wiki//dev/random)\n- View [Operating system details](/compute/docs/images/os-details) to learn more about the images available on Compute Engine"]]