Archive
创建 SSH 密钥

创建 SSH 密钥

2024-11-26 Linux Windows 本文档介绍了如何为 Compute Engine 虚拟机 (VM) 实例创建 SSH 密钥对。 准备工作 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服

Related articles

Radmin VPN Review 2024: Are Free Virtual LANs Safe? Synology BeeStation 10 Best Cloud Storage Services 2024: Personal & Business Use


Linux



Windows


本文档介绍了如何为 Compute Engine 虚拟机 (VM) 实例创建 SSH 密钥对。

准备工作

  • 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证 。

    Select the tab for how you plan to use the samples on this page:

    console

    When you use the Google Cloud console to access Google Cloud services and
    APIs, you don’t need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then
      initialize it by running the following command:

      gcloud init


      Note: If you installed the gcloud CLI
      previously, make sure you have the latest version by running gcloud components
      update
      .

    2. Set a default region and zone .
    3. REST

      如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。

        Install the Google Cloud CLI, then
        initialize it by running the following command:

        gcloud init

      如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。

      创建 SSH 密钥对

      如果您使用 Google Cloud 控制台或 Google Cloud CLI 连接到虚拟机,Compute Engine 会代表您创建 SSH 密钥。如需详细了解 Compute Engine 如何配置和存储密钥,请参阅关于 SSH 连接。

      如果您使用第三方工具或 OpenSSH 连接到虚拟机,则需要先向虚拟机添加密钥,然后才能连接。如果您没有 SSH 密钥,则必须创建一个。虚拟机接受 sshd_config 文件中列出的密钥格式。

      Linux 和 macOS

      在 Linux 和 macOS 工作站上,使用ssh - keygen 实用程序创建新的 SSH 密钥对。以下示例会创建一个 RSA 密钥对。

      打开终端并使用带有 -C 标志的 ssh - keygen 命令创建新的 SSH 密钥对。

      ssh - keygen -t rsa -f ~/.ssh/ -C 
      

      替换以下内容 :

      • : 您的 SSH 密钥文件的名称 。

        例如,如果文件名为my-ssh-key, 则系统会生成一个名为my-ssh-key 的私钥文件和一个名为 my-ssh-key.pub 的公钥文件。

      • :虚拟机上的用户名。例如 cloudysanfranciscocloudysanfrancisco_gmail_com

        对于 Linux 虚拟机,除非您将虚拟机配置为允许 root 登录,否则 不能为 root。 如需了解详情,请参阅以根用户身份连接到 Linux 虚拟机 。

        对于使用 Active Directory (AD) 的 Windows 虚拟机,必须在用户名前面加上格式为 \ 的 AD 域。例如,ad.example.com ad 中的用户cloudysanfranciscoexample\cloudysanfrancisco

      ssh - keygen 将您的私钥文件保存到 ~/.ssh/,并将公钥文件保存到 ~/.ssh/.pub

      用户 cloudysanfrancisco 的公钥类似于以下内容 :

       ssh - rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF ... cloudysanfrancisco 
      

      Windows 10 或更高版本

      在使用 Windows 10 或更高版本的工作站上,使用 ssh - keygen 实用程序创建新的 SSH 密钥对。以下示例会创建一个 RSA 密钥对。

      打开命令提示符并使用带有 -C 标志的 ssh - keygen 命令创建新的 SSH 密钥对。

      ssh - keygen -t rsa -f C:\Users\\.ssh\ -C 
      

      替换以下内容 :

      • :Windows 机器上的用户名。

      • : 您的 SSH 密钥文件的名称 。

        例如,如果文件名为my-ssh-key, 则系统会生成一个名为my-ssh-key 的私钥文件和一个名为 my-ssh-key.pub 的公钥文件。

      • :虚拟机上的用户名。例如 cloudysanfranciscocloudysanfrancisco_gmail_com

        对于 Linux 虚拟机,除非您将虚拟机配置为允许 root 登录,否则 不能为 root。 如需了解详情,请参阅以根用户身份连接到 Linux 虚拟机 。

        对于使用 Active Directory (AD) 的 Windows 虚拟机,必须在用户名前面加上格式为 \ 的 AD 域。例如,ad.example.com ad 中的用户cloudysanfranciscoexample\cloudysanfrancisco

      ssh - keygen 将您的私钥文件保存到 C:\Users\\.ssh\,并将公钥文件保存到 C:\Users\\.ssh\.pub

      用户 cloudysanfrancisco 的公钥类似于以下内容 :

       ssh - rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF ... cloudysanfrancisco 
      

      Windows is 或更早版本 8 或更早版本

      在使用 Windows is 或更早版本 8 或更早版本的工作站上,使用 PuTTYgen 工具创建新的 SSH 密钥对。以下示例会创建一个 RSA 密钥对。

      1. 下载 puttygen.exe(如果您尚未下载)。

      2. 打开 PuTTYgen。

      3. 在参数下,指定以下内容:

        • 要生成的密钥的类型:RSA
        • 生成的密钥中的位数:2048 或更多
      4. 点击生成并按照屏幕上的说明操作 。

        该工具会显示公钥值 。

      5. 在密钥注释部分,将预先填充的文本替换为您的用户名。例如 cloudysanfranciscocloudysanfrancisco_gmail_com

        对于 Linux 虚拟机,除非您将虚拟机配置为允许以根用户身份登录,否则密钥注释不能为 root。 如需了解详情,请参阅以根用户身份连接到 Linux 虚拟机 。

        对于使用 Active Directory ( AD ) 的 Windows 虚拟机,必须在密钥注释前面加上 ad 域,格式为\。例如,ad.example.com ad 中的用户cloudysanfrancisco 的密钥注释为 example\cloudysanfrancisco

      6. 可选:输入密钥口令,以使用密码保护您的密钥。

      7. 点击保存私钥,以选择保存私钥的位置。

        PuTTYgen 将私钥写入扩展名为 .ppk 的文件中 。

      8. 点击保存公钥,以选择保存公钥的位置。让 PuTTYgen 窗口保持打开状态 。

      9. 复制用于粘贴到 OpenSSH authorized_keys 文件的公钥字段中的文本。

      10. 打开公钥文件。公钥的格式类似于以下内容:

        ---- BEGIN SSH2 PUBLIC KEY ----
        Comment: ""
        
        ---- END SSH2 PUBLIC KEY ----
        

      11. 将公钥文件的全部内容替换为您从用于粘贴到 OpenSSH authorized_keys 文件的公钥字段中复制的值,从而使公钥文件匹配以下格式:

         
        

      用户 cloudysanfrancisco 的公钥类似于以下内容 :

       ssh - rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF ... cloudysanfrancisco 
      

      后续步骤



    如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。

    最后更新时间 (UTC):2024-11-21。