SSH 身份验证

从 R81.10.00 开始,你可以通过 SSH 登录时使用 RSA 密钥授权,代替基于密码的身份验证。

警告 - 此配置在固件升级后将无法保留。

程序:

  1. 创建 RSA 密钥并以 OpenSSH 格式导出其公钥。

    • 在 Check Point Gaia 操作系统(或 Gaia Embedded 操作系统)中,在专家模式下使用此命令:

      1. 运行适用的命令:

        • R81.10.10 Build 3001 之前的版本

          ssh-keygen -t rsa -b 4096

        • R81.10.10 Build 3001 及更高版本

          ssh-keygen -t ecdsa -b 521

        备注:

      2. 在此提示中,输入 RSA 私钥所需的路径和文件名:

        Enter file in which to save the key (/home/admin/.ssh/id_rsa):

        备注- 你可以在此文件中附加多个密钥。

        这些密钥对 Quantum Spark 设备上配置的所有管理员均有效。

      3. 在此提示下,只需按 Enter 键即可:

        Enter passphrase (empty for no passphrase):

      4. 在此提示下,只需按 Enter 键即可:

        Enter same passphrase again:

      从 Gaia 操作系统服务器导出的示例:

      备注- 在此示例中,“/home/admin/MyKey”文件是 RSA 私钥,并且“/home/admin/MyKey.pub”文件是 RSA 公钥。

      [Expert@HostName:0]# ssh-keygen -t rsa -b 4096
      Generating public/private rsa key pair.
      Enter file in which to save the key (/home/admin/.ssh/id_rsa): /home/admin/MyKey
      Enter passphrase (empty for no passphrase): Press the Enter Key
      Enter same passphrase again: Press the Enter Key
      Your identification has been saved in /home/admin/MyKey.
      Your public key has been saved in /home/admin/MyKey.pub.
      The key fingerprint is:
      SHA256:iru...   ...   ...   ...   ...   ...bKrY admin@HostName
      The key's randomart image is:
      +---[RSA 4096]----+
      |B=*. ..          |
      |.B =o...         |
      |  *o=.  .        |
      |   O.. .         |
      |..* = . S        |
      |...@ = *         |
      | E= O * .        |
      |   = * .         |
      |  ..B..          |
      +----[SHA256]-----+
      [Expert@HostName:0]#
    • 在 Linux 操作系统上,你可以使用“openssl ”命令或任何其他适用工具。

      请勿配置密码。

      R81.10.10 Build 3001 之前的版本:

      openssl genrsa -out /var/log/MyKey.private 4096

      openssl rsa -in /var/log/MyKey.private -out /var/log/MyKey.public -outform PEM -pubout

      R81.10.10 Build 3001 及更高版本:

      openssl ecparam -name secp521r1 -genkey -noout -out /var/log/MyKey.private

      openssl ec -in /var/log/MyKey.private -pubout > /var/log/MyKey.public

    • 在 Windows 操作系统上,你可以使用“PuTTYgen”工具。

      请勿配置密码。

      在PuTTY内置帮助中,参考章节“Using public keys for SSH authentication”。

  2. 将带有公钥的文件从基于 Linux 的服务器传输到你的电脑:

    示例

    RSA 私钥

    RSA 公钥

    Gaia OS

    /home/admin/MyKey

    /home/admin/MyKey.pub

    Linux操作系统

    /var/log/MyKey.private

    /var/log/MyKey.public

  3. 连接到 Quantum Spark 设备的命令行。

  4. 登录。

  5. 如果默认shell是Gaia Clish关闭 Gaia CLI的默认shell,则进入专家模式:

    expert

  6. 创建所需的目录:

    mkdir -v /storage/.ssh

  7. 配置该目录所需的权限:

    chmod 700 /storage/.ssh

  8. 使用公钥传输文件(在上面的 Gaia OS 示例中为“MyKey.pub”) 从你的电脑复制到 Quantum Spark 设备的以下目录:

    /storage/.ssh

  9. 将包含公钥的文件重命名为“authorized_keys”:

    mv -v /storage/MyKey.pub /storage/.ssh/authorized_keys

  10. 编辑文件“/pfrm2.0/etc/sshd_config”文件:

    1. 备份当前文件:

      cp -v /pfrm2.0/etc/sshd_config{,_BKP}

    2. 编辑当前文件:

      vi /pfrm2.0/etc/sshd_config

    3. 更改此行:

      AuthorizedKeysFile       none

      到这一行:

      AuthorizedKeysFile       /storage/.ssh/authorized_keys

    4. 保存文件中的更改并退出编辑器。

  11. 重新启动 Quantum Spark 设备。

  12. 在你的 SSH 客户端中,配置 SSH 会话以使用 RSA 或 ECDSA(取决于你的版本)私钥文件。

    请参阅 SSH 客户端的文档。

    备注 - 对于 PuTTY,需要将私钥文件从 OpenSSH 格式转换为 PPK 格式:

    1. 启动PuTTYgen工具。

    2. 从顶部,点击转换菜单。

    3. 点击导入密钥。

    4. 选择私钥文件并单击打开

    5. 在右下角,点击保存私钥

      请勿配置密码。

  13. 使用 SSH 客户端(使用私钥文件)连接到 Quantum Spark 设备。

    出现提示时,输入适用的用户名。

    系统不应再提示输入密码。