生成强预共享键

您可以使用预共享密钥 (PSK)(也称为共享密钥)向对等方 VPN 网关验证 Cloud VPN 隧道的身份。出于安全方面的考虑,建议您生成一个 32 个字符组成的安全系数高的预共享密钥。

使用以下方法生成 32 个字符的安全系数高的预共享密钥。

如需详细了解 Cloud VPN,请参阅 Cloud VPN 概览

如需了解本页面中所用术语的定义,请参阅关键术语

使用 JavaScript 生成 PSK

您可通过 W3C Web Cryptography API,使用 JavaScript 直接在文档中生成预共享密钥。此 API 使用 Crypto.getRandomValues() 方法,可提供以加密方式生成预共享密钥的方法。

以下代码通过创建一个包含 24 个随机字节的数组,然后对这些字节进行 base64 编码,生成 32 个字符的随机字符串:

  var a = new Uint8Array(24);
  window.crypto.getRandomValues(a);

  console.log(btoa(String.fromCharCode.apply(null, a)));

如需立即生成 PSK,请点击重新生成

使用 OpenSSL 生成 PSK

在 Linux 或 macOS 命令行界面中,运行以下 OpenSSL 命令:

openssl rand -base64 32

使用 /dev/urandom 生成 PSK

在 Linux 或 macOS 操作系统上,使用 /dev/urandom 作为伪随机源来生成预共享密钥。

  1. 在 Linux 或 macOS 命令行界面中,运行以下命令以将随机输入发送到 base64

    head -c 32 /dev/urandom | base64
    
  2. 通过哈希函数(例如 sha256)传递随机输入:

    • 在 Linux 上:

      head -c 4096 /dev/urandom | sha256sum | cut -b1-32
      
    • 在 macOS 上:

      head -c 4096 /dev/urandom | openssl sha256 | cut -b1-32
      

后续步骤

  • 如需使用高可用性和高吞吐量场景或多个子网方案,请参阅高级配置
  • 如需帮助解决使用 Cloud VPN 时可能会遇到的常见问题,请参阅问题排查